aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/appmenu/e_mod_appmenu_private.h
blob: 7bb5a16ef2b8dfdc0adeda0c7264ae7f62b484c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef APPMENU_PRIVATE_H
#define APPMENU_PRIVATE_H

#include "e.h"

typedef struct _E_AppMenu_Window E_AppMenu_Window;

typedef struct _E_AppMenu_Context
{
   Eina_List *instances;
   EDBus_Connection *conn;
   EDBus_Service_Interface *iface;
   Eina_List *windows;
   unsigned window_with_focus;
   E_AppMenu_Window *window;
   Ecore_Event_Handler *events[2];
} E_AppMenu_Context;

typedef struct _E_AppMenu_Instance
{
   Evas_Object *box;
   Evas *evas;
   E_Gadcon_Client *gcc;
   E_AppMenu_Context *ctx;
   Eina_Bool orientation_horizontal;
} E_AppMenu_Instance;

struct _E_AppMenu_Window
{
   unsigned window_id;
   const char *bus_id;
   const char *path;
   E_DBusMenu_Ctx *dbus_menu;
   E_AppMenu_Context *ctxt;
   E_DBusMenu_Item *root_item;
};

void appmenu_window_free(E_AppMenu_Window *window);
void appmenu_dbus_registrar_server_init(E_AppMenu_Context *ctx);
void appmenu_application_monitor(void *data, const char *bus, const char *old, const char *new);
void appmenu_menu_render(E_AppMenu_Context *ctxt EINA_UNUSED, E_AppMenu_Window *w);
void appmenu_menu_of_instance_render(E_AppMenu_Instance *inst, E_AppMenu_Window *window);

#endif