7 #include "e_dbus_private.h"
10 e_dbus_callback_new(E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data)
14 if (!cb_func) return NULL;
16 cb = calloc(1, sizeof(E_DBus_Callback));
18 cb->cb_func = cb_func;
19 cb->unmarshal_func = unmarshal_func;
20 cb->free_func = free_func;
21 cb->user_data = user_data;
26 e_dbus_callback_free(E_DBus_Callback *callback)
32 e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error)
34 if (cb && cb->cb_func)
35 cb->cb_func(cb->user_data, data, error);
39 e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err)
41 if (cb && cb->unmarshal_func)
42 return cb->unmarshal_func(msg, err);
47 e_dbus_callback_return_free(E_DBus_Callback *cb, void *data)
49 if (cb && cb->free_func)
54 e_dbus_basic_type_as_string(int type)
59 return DBUS_TYPE_BYTE_AS_STRING;
60 case DBUS_TYPE_BOOLEAN:
61 return DBUS_TYPE_BOOLEAN_AS_STRING;
63 return DBUS_TYPE_INT16_AS_STRING;
64 case DBUS_TYPE_UINT16:
65 return DBUS_TYPE_UINT16_AS_STRING;
67 return DBUS_TYPE_INT32_AS_STRING;
68 case DBUS_TYPE_UINT32:
69 return DBUS_TYPE_UINT32_AS_STRING;
71 return DBUS_TYPE_INT64_AS_STRING;
72 case DBUS_TYPE_UINT64:
73 return DBUS_TYPE_UINT64_AS_STRING;
74 case DBUS_TYPE_DOUBLE:
75 return DBUS_TYPE_DOUBLE_AS_STRING;
76 case DBUS_TYPE_STRING:
77 return DBUS_TYPE_STRING_AS_STRING;
78 case DBUS_TYPE_OBJECT_PATH:
79 return DBUS_TYPE_OBJECT_PATH_AS_STRING;
80 case DBUS_TYPE_SIGNATURE:
81 return DBUS_TYPE_SIGNATURE_AS_STRING;