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
45typedef 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
89extern "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
#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 const Eina_List * e_hal_property_strlist_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:108
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
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
EAPI int e_hal_init(void)
Definition: e_hal_main.c:8
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 Eina_Bool e_hal_property_bool_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:48
E_Hal_Property_Type
Definition: E_Hal.h:46
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_shutdown(void)
Definition: e_hal_main.c:41
EAPI void e_hal_property_free(E_Hal_Property *prop)
Definition: e_hal_util.c:13
EAPI double e_hal_property_double_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:93
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
EAPI int e_hal_property_int_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:63
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 uint64_t e_hal_property_uint64_get(E_Hal_Properties *properties, const char *key, int *err)
Definition: e_hal_util.c:78
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
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
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
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
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
@ E_HAL_PROPERTY_TYPE_STRLIST
Definition: E_Hal.h:52
@ E_HAL_PROPERTY_TYPE_STRING
Definition: E_Hal.h:47
@ E_HAL_PROPERTY_TYPE_INT
Definition: E_Hal.h:48
@ E_HAL_PROPERTY_TYPE_DOUBLE
Definition: E_Hal.h:51
@ E_HAL_PROPERTY_TYPE_UINT64
Definition: E_Hal.h:49
@ E_HAL_PROPERTY_TYPE_BOOL
Definition: E_Hal.h:50
Definition: e_dbus_private.h:19
Definition: E_Hal.h:30
Eina_Bool boolean
Definition: E_Hal.h:31
Definition: E_Hal.h:40
const char * capability
Definition: E_Hal.h:42
const char * udi
Definition: E_Hal.h:41
Definition: E_Hal.h:70
Eina_Hash * properties
Definition: E_Hal.h:71
Definition: E_Hal.h:56
const char * s
Definition: E_Hal.h:60
dbus_bool_t b
Definition: E_Hal.h:62
E_Hal_Property_Type type
Definition: E_Hal.h:57
int i
Definition: E_Hal.h:61
double d
Definition: E_Hal.h:63
union E_Hal_Property::@8 val
Eina_List * strlist
Definition: E_Hal.h:65
dbus_uint64_t u64
Definition: E_Hal.h:64
Definition: E_Hal.h:25
Eina_List * strings
Definition: E_Hal.h:26
Definition: E_Hal.h:35
const char * udi
Definition: E_Hal.h:36