5 #include "e_dbus_private.h"
8 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)
12 if (!cb_func) return NULL;
14 cb = calloc(1, sizeof(E_DBus_Callback));
16 cb->cb_func = cb_func;
17 cb->unmarshal_func = unmarshal_func;
18 cb->free_func = free_func;
19 cb->user_data = user_data;
24 e_dbus_callback_free(E_DBus_Callback *callback)
30 e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error)
32 if (cb && cb->cb_func)
33 cb->cb_func(cb->user_data, data, error);
37 e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err)
39 if (cb && cb->unmarshal_func)
40 return cb->unmarshal_func(msg, err);
46 e_dbus_callback_return_free(E_DBus_Callback *cb, void *data)
48 if (cb && cb->free_func)
53 e_dbus_basic_type_as_string(int type)
58 return DBUS_TYPE_BYTE_AS_STRING;
59 case DBUS_TYPE_BOOLEAN:
60 return DBUS_TYPE_BOOLEAN_AS_STRING;
62 return DBUS_TYPE_INT16_AS_STRING;
63 case DBUS_TYPE_UINT16:
64 return DBUS_TYPE_UINT16_AS_STRING;
66 return DBUS_TYPE_INT32_AS_STRING;
67 case DBUS_TYPE_UINT32:
68 return DBUS_TYPE_UINT32_AS_STRING;
70 return DBUS_TYPE_INT64_AS_STRING;
71 case DBUS_TYPE_UINT64:
72 return DBUS_TYPE_UINT64_AS_STRING;
73 case DBUS_TYPE_DOUBLE:
74 return DBUS_TYPE_DOUBLE_AS_STRING;
75 case DBUS_TYPE_STRING:
76 return DBUS_TYPE_STRING_AS_STRING;
77 case DBUS_TYPE_OBJECT_PATH:
78 return DBUS_TYPE_OBJECT_PATH_AS_STRING;
79 case DBUS_TYPE_SIGNATURE:
80 return DBUS_TYPE_SIGNATURE_AS_STRING;