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