4 #include <Ecore_Data.h>
5 #include <eina_stringshare.h>
12 # define EAPI __declspec(dllexport)
14 # define EAPI __declspec(dllimport)
19 # define EAPI __attribute__ ((visibility("default")))
28 #define E_HAL_SENDER "org.freedesktop.Hal"
29 #define E_HAL_MANAGER_PATH "/org/freedesktop/Hal/Manager"
30 #define E_HAL_MANAGER_INTERFACE "org.freedesktop.Hal.Manager"
31 #define E_HAL_DEVICE_INTERFACE "org.freedesktop.Hal.Device"
32 #define E_HAL_DEVICE_VOLUME_INTERFACE "org.freedesktop.Hal.Device.Volume"
34 /* message return types */
36 typedef struct E_Hal_Property E_Hal_Property;
37 typedef struct E_Hal_Properties E_Hal_Properties;
39 struct E_Hal_String_List_Return
41 Ecore_List *strings; /* list of const char * */
44 struct E_Hal_Bool_Return
49 struct E_Hal_UDI_Return
54 struct E_Hal_Capability
57 const char *capability;
62 E_HAL_PROPERTY_TYPE_STRING,
63 E_HAL_PROPERTY_TYPE_INT,
64 E_HAL_PROPERTY_TYPE_UINT64,
65 E_HAL_PROPERTY_TYPE_BOOL,
66 E_HAL_PROPERTY_TYPE_DOUBLE,
67 E_HAL_PROPERTY_TYPE_STRLIST
68 } E_Hal_Property_Type;
72 E_Hal_Property_Type type;
84 struct E_Hal_Properties
86 Ecore_Hash *properties;
89 typedef struct E_Hal_Properties E_Hal_Device_Get_All_Properties_Return;
90 typedef struct E_Hal_Property E_Hal_Device_Get_Property_Return;
91 typedef struct E_Hal_Bool_Return E_Hal_Device_Query_Capability_Return;
92 typedef struct E_Hal_String_List_Return E_Hal_String_List_Return;
93 typedef struct E_Hal_String_List_Return E_Hal_Manager_Get_All_Devices_Return;
94 typedef struct E_Hal_Bool_Return E_Hal_Manager_Device_Exists_Return;
95 typedef struct E_Hal_String_List_Return E_Hal_Manager_Find_Device_String_Match_Return;
96 typedef struct E_Hal_String_List_Return E_Hal_Manager_Find_Device_By_Capability_Return;
99 typedef struct E_Hal_UDI_Return E_Hal_Manager_Device_Added;
100 typedef struct E_Hal_UDI_Return E_Hal_Manager_Device_Removed;
101 typedef struct E_Hal_Capability E_Hal_Manager_New_Capability;
107 /* org.freedesktop.Hal.Device */
108 EAPI int e_hal_device_get_property(E_DBus_Connection *conn, const char *udi, const char *property, E_DBus_Callback_Func cb_func, void *data);
109 EAPI int e_hal_device_get_all_properties(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
110 EAPI int e_hal_device_query_capability(E_DBus_Connection *conn, const char *udi, const char *capability, E_DBus_Callback_Func cb_func, void *data);
112 /* org.freedesktop.Hal.Manager */
113 EAPI int e_hal_manager_get_all_devices(E_DBus_Connection *conn, E_DBus_Callback_Func cb_func, void *data);
114 EAPI int e_hal_manager_device_exists(E_DBus_Connection *conn, const char *udi, E_DBus_Callback_Func cb_func, void *data);
115 EAPI int 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);
116 EAPI int e_hal_manager_find_device_by_capability(E_DBus_Connection *conn, const char *capability, E_DBus_Callback_Func cb_func, void *data);
118 /* utility functions */
119 EAPI void e_hal_property_free(E_Hal_Property *prop);
120 EAPI char *e_hal_property_string_get(E_Hal_Properties *properties, const char *key, int *err);
121 EAPI char e_hal_property_bool_get(E_Hal_Properties *properties, const char *key, int *err);
122 EAPI int e_hal_property_int_get(E_Hal_Properties *properties, const char *key, int *err);
123 EAPI dbus_uint64_t e_hal_property_uint64_get(E_Hal_Properties *properties, const char *key, int *err);
124 EAPI double e_hal_property_double_get(E_Hal_Properties *properties, const char *key, int *err);
125 EAPI Ecore_List *e_hal_property_strlist_get(E_Hal_Properties *properties, const char *key, int *err);
128 EAPI int e_hal_device_volume_mount(E_DBus_Connection *conn, const char *udi, const char *mount_point, const char *fstype, Ecore_List *options, E_DBus_Callback_Func cb_func, void *data);
129 EAPI int e_hal_device_volume_unmount(E_DBus_Connection *conn, const char *udi, Ecore_List *options, E_DBus_Callback_Func cb_func, void *data);