E_Hal.h
Go to the documentation of this file.
1 #ifndef E_HAL_H
2 #define E_HAL_H
3 
4 #include <Eina.h>
5 #include <E_DBus.h>
6 
13 #define E_HAL_SENDER "org.freedesktop.Hal"
14 #define E_HAL_MANAGER_PATH "/org/freedesktop/Hal/Manager"
15 #define E_HAL_MANAGER_INTERFACE "org.freedesktop.Hal.Manager"
16 #define E_HAL_DEVICE_INTERFACE "org.freedesktop.Hal.Device"
17 #define E_HAL_DEVICE_VOLUME_INTERFACE "org.freedesktop.Hal.Device.Volume"
18 
19 /* message return types */
20 
23 
25 {
26  Eina_List *strings; /* list of const char * */
27 };
28 
30 {
31  Eina_Bool boolean;
32 };
33 
35 {
36  const char *udi;
37 };
38 
40 {
41  const char *udi;
42  const char *capability;
43 };
44 
45 typedef enum
46 {
54 
56 {
58  union
59  {
60  const char *s;
61  int i;
62  dbus_bool_t b;
63  double d;
64  dbus_uint64_t u64;
65  Eina_List *strlist;
66  } val;
67 };
68 
70 {
71  Eina_Hash *properties;
72 };
73 
82 
83 
87 
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91 
92  EAPI int e_hal_init(void);
93  EAPI int e_hal_shutdown(void);
94 
95 /* org.freedesktop.Hal.Device */
96  EAPI DBusPendingCall *e_hal_device_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data);
97  EAPI DBusPendingCall *e_hal_device_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
98  EAPI DBusPendingCall *e_hal_device_query_capability(E_DBus_Connection *conn, const char *udi, const char *capability, E_DBus_Callback_Func cb_func, void *data);
99 
100 /* org.freedesktop.Hal.Manager */
101  EAPI DBusPendingCall *e_hal_manager_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
102  EAPI DBusPendingCall *e_hal_manager_device_exists(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
103  EAPI DBusPendingCall *e_hal_manager_find_device_string_match(E_DBus_Connection *conn, const char *key, const char *value, E_DBus_Callback_Func cb_func, void *data);
104  EAPI DBusPendingCall *e_hal_manager_find_device_by_capability(E_DBus_Connection *conn, const char *capability, E_DBus_Callback_Func cb_func, void *data);
105 
106 /* utility functions */
108  EAPI const char *e_hal_property_string_get(E_Hal_Properties *properties, const char *key, int *err);
109  EAPI Eina_Bool e_hal_property_bool_get(E_Hal_Properties *properties, const char *key, int *err);
110  EAPI int e_hal_property_int_get(E_Hal_Properties *properties, const char *key, int *err);
111  EAPI uint64_t e_hal_property_uint64_get(E_Hal_Properties *properties, const char *key, int *err);
112  EAPI double e_hal_property_double_get(E_Hal_Properties *properties, const char *key, int *err);
113  EAPI const Eina_List *e_hal_property_strlist_get(E_Hal_Properties *properties, const char *key, int *err);
114 
115 /* (un)mount */
116  EAPI DBusPendingCall *e_hal_device_volume_mount(E_DBus_Connection *conn, const char *udi, const char *mount_point, const char *fstype, Eina_List *options, E_DBus_Callback_Func cb_func, void *data);
117  EAPI DBusPendingCall *e_hal_device_volume_unmount(E_DBus_Connection *conn, const char *udi, Eina_List *options, E_DBus_Callback_Func cb_func, void *data);
118  EAPI DBusPendingCall *e_hal_device_volume_eject(E_DBus_Connection *conn, const char *udi, Eina_List *options, E_DBus_Callback_Func cb_func, void *data);
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
128 #endif
void(* E_DBus_Callback_Func)(void *user_data, void *method_return, DBusError *error)
Definition: E_DBus.h:135
Definition: E_Hal.h:49
Definition: e_dbus_private.h:18
E_Hal_Property_Type
Definition: E_Hal.h:45
int i
Definition: E_Hal.h:61
const char * udi
Definition: E_Hal.h:36
EAPI DBusPendingCall * e_hal_device_query_capability(E_DBus_Connection *conn, const char *udi, const char *capability, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_device.c:234
Definition: E_Hal.h:24
double d
Definition: E_Hal.h:63
dbus_uint64_t u64
Definition: E_Hal.h:64
Definition: E_Hal.h:47
Eina_Hash * properties
Definition: E_Hal.h:71
EAPI void e_hal_property_free(E_Hal_Property *prop)
Definition: e_hal_util.c:13
EAPI const Eina_List * e_hal_property_strlist_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:108
#define EAPI
Definition: E_DBus.h:44
EAPI Eina_Bool e_hal_property_bool_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:48
EAPI DBusPendingCall * e_hal_device_volume_mount(E_DBus_Connection *conn, const char *udi, const char *mount_point, const char *fstype, Eina_List *options, E_DBus_Callback_Func cb_func, void *data)
Mount a Volume.
Definition: e_hal_device.c:262
EAPI DBusPendingCall * e_hal_manager_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_manager.c:59
union E_Hal_Property::@8 val
EAPI DBusPendingCall * e_hal_device_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_device.c:183
EAPI int e_hal_property_int_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:63
Eina_List * strlist
Definition: E_Hal.h:65
EAPI DBusPendingCall * e_hal_manager_device_exists(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_manager.c:107
Definition: E_Hal.h:52
Definition: E_Hal.h:69
EAPI DBusPendingCall * e_hal_device_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_device.c:75
const char * udi
Definition: E_Hal.h:41
const char * capability
Definition: E_Hal.h:42
EAPI uint64_t e_hal_property_uint64_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:78
Definition: E_Hal.h:50
EAPI DBusPendingCall * e_hal_manager_find_device_string_match(E_DBus_Connection *conn, const char *key, const char *value, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_manager.c:121
dbus_bool_t b
Definition: E_Hal.h:62
EAPI DBusPendingCall * e_hal_device_volume_eject(E_DBus_Connection *conn, const char *udi, Eina_List *options, E_DBus_Callback_Func cb_func, void *data)
Eject a Volume.
Definition: e_hal_device.c:352
EAPI DBusPendingCall * e_hal_manager_find_device_by_capability(E_DBus_Connection *conn, const char *capability, E_DBus_Callback_Func cb_func, void *data)
Definition: e_hal_manager.c:136
Definition: E_Hal.h:39
E_Hal_Property_Type type
Definition: E_Hal.h:57
Eina_List * strings
Definition: E_Hal.h:26
Definition: E_Hal.h:55
EAPI double e_hal_property_double_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:93
Eina_Bool boolean
Definition: E_Hal.h:31
Definition: E_Hal.h:34
EAPI int e_hal_shutdown(void)
Definition: e_hal_main.c:41
EAPI DBusPendingCall * e_hal_device_volume_unmount(E_DBus_Connection *conn, const char *udi, Eina_List *options, E_DBus_Callback_Func cb_func, void *data)
Unmount a Volume.
Definition: e_hal_device.c:309
const char * s
Definition: E_Hal.h:60
EAPI const char * e_hal_property_string_get(E_Hal_Properties *properties, const char *key, int *err)
Retrive a string from an element of a property hash.
Definition: e_hal_util.c:33
Definition: E_Hal.h:48
Definition: E_Hal.h:29
Definition: E_Hal.h:51
EAPI int e_hal_init(void)
Definition: e_hal_main.c:8