include: include e_types.h file at all public header files
[platform/upstream/enlightenment.git] / src / include / e_appinfo.h
1 # ifndef E_APPINFO_H
2 # define E_APPINFO_H
3
4 #include <e_types.h>
5
6 #include <unistd.h>
7
8 typedef struct _E_Appinfo E_Appinfo;
9 typedef struct _E_Appinfo_Hook E_Appinfo_Hook;
10
11 typedef enum _E_Appinfo_Hook_Point
12 {
13    E_APPINFO_HOOK_APPID_SET,
14    E_APPINFO_HOOK_PID_SET,
15    E_APPINFO_HOOK_METADATA_READY,
16    E_APPINFO_HOOK_LAST,
17 } E_Appinfo_Hook_Point;
18
19 typedef void (*E_Appinfo_Hook_Cb)(const char *appid, pid_t pid, void *data);
20
21 E_API   pid_t                e_appinfo_pid_get(E_Appinfo *eai);
22 E_API E_Appinfo             *e_appinfo_find_with_pid(pid_t pid);
23 E_API E_Appinfo             *e_appinfo_find_with_appid(const char *appid);
24 E_API Eina_Bool              e_appinfo_base_output_resolution_set(E_Appinfo *eai, int width, int height);
25 E_API Eina_Stringshare      *e_appinfo_appid_get(E_Appinfo *eai);
26
27 E_API E_Appinfo_Hook        *e_appinfo_hook_add(E_Appinfo_Hook_Point point, E_Appinfo_Hook_Cb cb, const void *data);
28 E_API void                   e_appinfo_hook_del(E_Appinfo_Hook *hook);
29
30 #endif