E_Ukit.h
Go to the documentation of this file.
1#ifndef E_UKIT_H
2#define E_UKIT_H
3
4#include <Eina.h>
5#include <E_DBus.h>
6
13#define E_UDISKS_BUS "org.freedesktop.UDisks"
14#define E_UDISKS_PATH "/org/freedesktop/UDisks"
15#define E_UDISKS_INTERFACE "org.freedesktop.UDisks.Device"
16
17#define E_UPOWER_BUS "org.freedesktop.UPower"
18#define E_UPOWER_PATH "/org/freedesktop/UPower"
19#define E_UPOWER_INTERFACE "org.freedesktop.UPower.Device"
20
21/* message return types */
22
25
27{
28 Eina_List *strings; /* list of const char * */
29};
30
32{
33 Eina_Bool boolean;
34};
35
37{
38 const char *udi;
39};
40
42{
43 const char *udi;
44 const char *capability;
45};
46
47typedef enum
48{
58
60{
62 union
63 {
64 const char *s;
65 int i;
66 Eina_Bool b;
67 double d;
68 uint32_t u;
69 uint64_t t;
70 int64_t x;
71 Eina_List *strlist;
72 } val;
73};
74
76{
77 Eina_Hash *properties;
78};
79
80typedef enum
81{
90
91typedef enum
92{
101
102typedef enum
103{
114
115
120
124
125#ifdef __cplusplus
126extern "C" {
127#endif
128
129 EAPI int e_ukit_init(void);
130 EAPI int e_ukit_shutdown(void);
131
132 EAPI DBusPendingCall *e_udisks_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data);
133 EAPI DBusPendingCall *e_udisks_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
134 EAPI DBusPendingCall *e_udisks_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
135
136 EAPI DBusPendingCall *e_upower_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data);
137 EAPI DBusPendingCall *e_upower_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
138 EAPI DBusPendingCall *e_upower_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
139
140 EAPI DBusPendingCall * e_upower_suspend_allowed(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
141 EAPI DBusPendingCall * e_upower_suspend(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
142 EAPI DBusPendingCall * e_upower_hibernate(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
143 EAPI DBusPendingCall * e_upower_hibernate_allowed(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
144
145/* utility functions */
147 EAPI const char *e_ukit_property_string_get(E_Ukit_Properties *properties, const char *key, int *err);
148 EAPI Eina_Bool e_ukit_property_bool_get(E_Ukit_Properties *properties, const char *key, int *err);
149 EAPI int e_ukit_property_int_get(E_Ukit_Properties *properties, const char *key, int *err);
150 EAPI uint32_t e_ukit_property_uint32_get(E_Ukit_Properties *properties, const char *key, int *err);
151 EAPI uint64_t e_ukit_property_uint64_get(E_Ukit_Properties *properties, const char *key, int *err);
152 EAPI int64_t e_ukit_property_int64_get(E_Ukit_Properties *properties, const char *key, int *err);
153 EAPI double e_ukit_property_double_get(E_Ukit_Properties *properties, const char *key, int *err);
154 EAPI const Eina_List *e_ukit_property_strlist_get(E_Ukit_Properties *properties, const char *key, int *err);
155
156/* (un)mount */
157 EAPI DBusPendingCall *e_udisks_volume_mount(E_DBus_Connection *conn, const char *udi, const char *fstype, Eina_List *options);
158 EAPI DBusPendingCall *e_udisks_volume_unmount(E_DBus_Connection *conn, const char *udi, Eina_List *options);
159 EAPI DBusPendingCall *e_udisks_volume_eject(E_DBus_Connection *conn, const char *udi, Eina_List *options);
160
161#ifdef __cplusplus
162}
163#endif
164
169#endif
#define EAPI
Definition: E_DBus.h:44
void(* E_DBus_Callback_Func)(void *user_data, void *method_return, DBusError *error)
Definition: E_DBus.h:135
EAPI DBusPendingCall * e_udisks_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data)
Definition: e_udisks.c:41
EAPI int e_ukit_init(void)
Definition: e_ukit_main.c:12
EAPI DBusPendingCall * e_udisks_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data)
Definition: e_udisks.c:22
EAPI const char * e_ukit_property_string_get(E_Ukit_Properties *properties, const char *key, int *err)
Retrive a string from an element of a property hash.
Definition: e_ukit_util.c:28
EAPI DBusPendingCall * e_upower_suspend_allowed(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:104
EAPI DBusPendingCall * e_udisks_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_udisks.c:198
EAPI uint64_t e_ukit_property_uint64_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:80
E_UPower_Battery_Type
Definition: E_Ukit.h:81
EAPI void e_ukit_property_free(E_Ukit_Property *prop)
Definition: e_ukit_util.c:14
EAPI double e_ukit_property_double_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:106
EAPI Eina_Bool e_ukit_property_bool_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:41
EAPI int e_ukit_shutdown(void)
Definition: e_ukit_main.c:46
EAPI const Eina_List * e_ukit_property_strlist_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:119
EAPI DBusPendingCall * e_upower_hibernate(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:59
EAPI DBusPendingCall * e_upower_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:120
EAPI uint32_t e_ukit_property_uint32_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:67
EAPI DBusPendingCall * e_upower_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:41
E_Upower_Source
Definition: E_Ukit.h:103
EAPI int64_t e_ukit_property_int64_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:93
E_Ukit_Property_Type
Definition: E_Ukit.h:48
EAPI DBusPendingCall * e_udisks_volume_mount(E_DBus_Connection *conn, const char *udi, const char *fstype, Eina_List *options)
Mount a Filesystem.
Definition: e_udisks.c:72
EAPI DBusPendingCall * e_upower_hibernate_allowed(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:89
EAPI int e_ukit_property_int_get(E_Ukit_Properties *properties, const char *key, int *err)
Definition: e_ukit_util.c:54
EAPI DBusPendingCall * e_upower_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:22
EAPI DBusPendingCall * e_udisks_volume_eject(E_DBus_Connection *conn, const char *udi, Eina_List *options)
Eject a Volume.
Definition: e_udisks.c:161
E_Upower_State
Definition: E_Ukit.h:92
EAPI DBusPendingCall * e_upower_suspend(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_upower.c:74
EAPI DBusPendingCall * e_udisks_volume_unmount(E_DBus_Connection *conn, const char *udi, Eina_List *options)
Unmount a Volume.
Definition: e_udisks.c:118
@ E_UPOWER_BATTERY_METALHYDRYDE
Definition: E_Ukit.h:88
@ E_UPOWER_BATTERY_LION
Definition: E_Ukit.h:83
@ E_UPOWER_BATTERY_LEAD
Definition: E_Ukit.h:86
@ E_UPOWER_BATTERY_LPOLYMER
Definition: E_Ukit.h:84
@ E_UPOWER_BATTERY_LIRONPHOS
Definition: E_Ukit.h:85
@ E_UPOWER_BATTERY_NICAD
Definition: E_Ukit.h:87
@ E_UPOWER_BATTERY_UNKNOWN
Definition: E_Ukit.h:82
@ E_UPOWER_SOURCE_MONITOR
Definition: E_Ukit.h:108
@ E_UPOWER_SOURCE_UNKNOWN
Definition: E_Ukit.h:104
@ E_UPOWER_SOURCE_BATTERY
Definition: E_Ukit.h:106
@ E_UPOWER_SOURCE_AC
Definition: E_Ukit.h:105
@ E_UPOWER_SOURCE_UPS
Definition: E_Ukit.h:107
@ E_UPOWER_SOURCE_PDA
Definition: E_Ukit.h:111
@ E_UPOWER_SOURCE_MOUSE
Definition: E_Ukit.h:109
@ E_UPOWER_SOURCE_KEYBOARD
Definition: E_Ukit.h:110
@ E_UPOWER_SOURCE_PHONE
Definition: E_Ukit.h:112
@ E_UKIT_PROPERTY_TYPE_INT64
Definition: E_Ukit.h:53
@ E_UKIT_PROPERTY_TYPE_UINT64
Definition: E_Ukit.h:52
@ E_UKIT_PROPERTY_TYPE_INT
Definition: E_Ukit.h:50
@ E_UKIT_PROPERTY_TYPE_DOUBLE
Definition: E_Ukit.h:55
@ E_UKIT_PROPERTY_TYPE_STRING
Definition: E_Ukit.h:49
@ E_UKIT_PROPERTY_TYPE_STRLIST
Definition: E_Ukit.h:56
@ E_UKIT_PROPERTY_TYPE_BOOL
Definition: E_Ukit.h:54
@ E_UKIT_PROPERTY_TYPE_UINT32
Definition: E_Ukit.h:51
@ E_UPOWER_STATE_DISCHARGING
Definition: E_Ukit.h:95
@ E_UPOWER_STATE_EMPTY
Definition: E_Ukit.h:96
@ E_UPOWER_STATE_FULL
Definition: E_Ukit.h:97
@ E_UPOWER_STATE_UNKNOWN
Definition: E_Ukit.h:93
@ E_UPOWER_STATE_CHARGING
Definition: E_Ukit.h:94
@ E_UPOWER_STATE_PENDINGCHARGE
Definition: E_Ukit.h:98
@ E_UPOWER_STATE_PENDINGDISCHARGE
Definition: E_Ukit.h:99
Definition: e_dbus_private.h:19
Definition: E_Ukit.h:32
Eina_Bool boolean
Definition: E_Ukit.h:33
Definition: E_Ukit.h:42
const char * udi
Definition: E_Ukit.h:43
const char * capability
Definition: E_Ukit.h:44
Definition: E_Ukit.h:76
Eina_Hash * properties
Definition: E_Ukit.h:77
Definition: E_Ukit.h:60
Eina_Bool b
Definition: E_Ukit.h:66
int64_t x
Definition: E_Ukit.h:70
union E_Ukit_Property::@15 val
const char * s
Definition: E_Ukit.h:64
uint64_t t
Definition: E_Ukit.h:69
Eina_List * strlist
Definition: E_Ukit.h:71
uint32_t u
Definition: E_Ukit.h:68
int i
Definition: E_Ukit.h:65
double d
Definition: E_Ukit.h:67
E_Ukit_Property_Type type
Definition: E_Ukit.h:61
Definition: E_Ukit.h:27
Eina_List * strings
Definition: E_Ukit.h:28
Definition: E_Ukit.h:37
const char * udi
Definition: E_Ukit.h:38