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_ */