Galago - desktop presence framework

galago-dbus.h

Go to the documentation of this file.
00001 
00021 #ifndef _GALAGO_DBUS_H_
00022 #define _GALAGO_DBUS_H_
00023 
00024 #define DBUS_API_SUBJECT_TO_CHANGE
00025 
00026 #include <dbus/dbus.h>
00027 #include <libgalago/galago-list.h>
00028 #include <libgalago/galago-object.h>
00029 
00030 #define GALAGO_DBUS_SERVICE "org.freedesktop.Galago"
00031 
00032 #define GALAGO_DBUS_ERROR_INVALID_PROPERTY "org.freedesktop.Galago.Error.InvalidProperty"
00033 #define GALAGO_DBUS_ERROR_OBJECT_NOT_FOUND "org.freedesktop.Galago.Error.ObjectNotFound"
00034 
00035 
00036 /**************************************************************************
00037  * Utility functions
00038  **************************************************************************/
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042 
00050 void galago_dbus_message_iter_append_string_or_nil(DBusMessageIter *iter,
00051                                                    const char *str);
00052 
00062 char *galago_dbus_message_iter_get_string_or_nil(DBusMessageIter *iter);
00063 
00070 void galago_dbus_message_iter_append_object(DBusMessageIter *iter,
00071                                             const void *object);
00072 
00079 void galago_dbus_message_iter_append_object_list(DBusMessageIter *iter,
00080                                                  const GalagoList *list);
00081 
00090 void *galago_dbus_message_iter_get_object(DBusMessageIter *iter,
00091                                           const GalagoObjectClass *klass);
00092 
00103 GalagoList *galago_dbus_message_iter_get_object_list(
00104     DBusMessageIter *iter, const GalagoObjectClass *klass);
00105 
00116 DBusMessage *galago_dbus_message_new_method_call(const void *object,
00117                                                  const char *name,
00118                                                  galago_bool reply,
00119                                                  DBusMessageIter *ret_iter);
00120 
00132 DBusMessage *galago_dbus_message_new_method_call_vargs(const void *object,
00133                                                        const char *name,
00134                                                        galago_bool reply,
00135                                                        va_list args);
00136 
00149 DBusMessage *galago_dbus_message_new_method_call_args(const void *object,
00150                                                       const char *name,
00151                                                       galago_bool reply,
00152                                                       ...);
00153 
00163 void galago_dbus_send_message(const void *object, const char *name, ...);
00164 
00165 
00180 GalagoList *galago_dbus_send_message_with_reply_list(const void *object,
00181                                                      const char *name,
00182                                                      GalagoList *return_types,
00183                                                      ...);
00184 
00198 void *galago_dbus_send_message_with_reply(const void *object,
00199                                           const char *name,
00200                                           GalagoValue *return_type, ...);
00201 
00209 void galago_dbus_object_push_full(void *object);
00210 
00219 const char *galago_dbus_normalize_name(const char *name);
00220 
00221 #ifdef __cplusplus
00222 }
00223 #endif
00224 
00225 #endif /* _GALAGO_DBUS_H_ */