Galago - desktop presence framework

galago-core.h

Go to the documentation of this file.
00001 
00021 #ifndef _GALAGO_CORE_H_
00022 #define _GALAGO_CORE_H_
00023 
00024 #include <libgalago/galago-dbus.h>
00025 #include <libgalago/galago-person.h>
00026 #include <libgalago/galago-service.h>
00027 #include <libgalago/galago-signals.h>
00028 #include <libgalago/galago-types.h>
00029 
00030 #ifdef __G_LIB_H__
00031 # include <dbus/dbus-glib-lowlevel.h>
00032 #endif
00033 
00034 #define GALAGO_DBUS_CORE_INTERFACE "org.freedesktop.Galago.Core"
00035 #define GALAGO_DBUS_CORE_OBJECT    "/org/freedesktop/Galago/Core"
00036 
00037 typedef struct _GalagoCore GalagoCore;
00038 
00039 typedef void (*GalagoMainLoopSetupFunc)(DBusConnection *, void *);
00040 
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044 
00055 galago_bool galago_init(const char *name, galago_bool feed);
00056 
00069 galago_bool galago_init_with_mainloop(const char *name, galago_bool feed,
00070                                       GalagoMainLoopSetupFunc func,
00071                                       void *data);
00072 
00078 void galago_uninit(void);
00079 
00085 galago_bool galago_is_initted(void);
00086 
00092 galago_bool galago_is_connected(void);
00093 
00099 galago_bool galago_is_registered(void);
00100 
00106 galago_bool galago_is_daemon_active(void);
00107 
00113 galago_bool galago_is_daemon(void);
00114 
00120 DBusConnection *galago_core_get_dbus_conn(void);
00121 
00130 const char *galago_core_get_uid(void);
00131 
00137 const char *galago_core_get_obj_path(void);
00138 
00144 galago_bool galago_core_is_feed(void);
00145 
00158 void galago_core_set_watch_all(galago_bool watch_all);
00159 
00166 galago_bool galago_core_get_watch_all(void);
00167 
00177 void galago_core_set_exit_with_daemon(galago_bool exit_with_daemon);
00178 
00185 galago_bool galago_core_get_exit_with_daemon(void);
00186 
00192 void galago_core_add_service(GalagoService *service);
00193 
00199 void galago_core_remove_service(GalagoService *service);
00200 
00211 GalagoService *galago_core_get_service(const char *id, galago_bool native,
00212                                        galago_bool query);
00213 
00223 const GalagoList *galago_core_get_services(galago_bool native,
00224                                            galago_bool query);
00225 
00233 void galago_core_add_person(GalagoPerson *person);
00234 
00242 void galago_core_remove_person(GalagoPerson *person);
00243 
00254 GalagoPerson *galago_core_get_person(const char *id, galago_bool native,
00255                                      galago_bool query);
00256 
00266 const GalagoList *galago_core_get_people(galago_bool native,
00267                                          galago_bool query);
00268 
00278 GalagoPerson *galago_core_get_me(galago_bool native, galago_bool query);
00279 
00287 GalagoCore *galago_get_core(void);
00288 
00298 #define galago_glib_init(name, feed, context) \
00299     galago_init_with_mainloop((name), (feed), \
00300         (GalagoMainLoopSetupFunc)dbus_connection_setup_with_g_main, (context))
00301 
00302 #ifdef __cplusplus
00303 }
00304 #endif
00305 
00306 #endif /* _GALAGO_CORE_H_ */