Galago - desktop presence framework

galago-context.h

Go to the documentation of this file.
00001 
00021 #ifndef _GALAGO_CONTEXT_H_
00022 #define _GALAGO_CONTEXT_H_
00023 
00024 /*
00025  * NOTE: The base GalagoContext struct has been split out into
00026  *       galago-context-base.h in order to break a fairly nasty header
00027  *       file dependency hell problem that was caused by the fact that
00028  *       GalagoObject requires GalagoContext, and GalagoContext makes use of
00029  *       things that inherit GalagoObject. Eventually, it all just broke. This
00030  *       only matters inside of here, since nothing outside libgalago requests
00031  *       specific header files.
00032  */
00033 
00034 #include <libgalago/galago-context-base.h>
00035 #include <libgalago/galago-person.h>
00036 #include <libgalago/galago-service.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 /**************************************************************************/
00044 /**************************************************************************/
00052 GalagoContext *galago_context_new(void);
00053 
00059 void galago_context_destroy(GalagoContext *context);
00060 
00066 void galago_context_push(GalagoContext *context);
00067 
00071 void galago_context_pop(void);
00072 
00078 GalagoContext *galago_context_get(void);
00079 
00085 void galago_context_set_obj_path_prefix(const char *prefix);
00086 
00092 const char *galago_context_get_obj_path_prefix(void);
00093 
00102 GalagoService *galago_context_get_service(const char *id, galago_bool native);
00103 
00111 const GalagoList *galago_context_get_services(galago_bool native);
00112 
00121 GalagoPerson *galago_context_get_person(const char *id, galago_bool native);
00122 
00130 const GalagoList *galago_context_get_people(galago_bool native);
00131 
00139 void *galago_context_get_object(const char *path);
00140 
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146 
00147 #endif /* _GALAGO_CONTEXT_H_ */