core.h

00001 
00026 #ifndef _PURPLE_CORE_H_
00027 #define _PURPLE_CORE_H_
00028 
00029 typedef struct PurpleCore PurpleCore;
00030 
00031 typedef struct
00032 {
00033     void (*ui_prefs_init)(void);
00034     void (*debug_ui_init)(void); /* Unfortunate necessity. */
00035     void (*ui_init)(void);
00036     void (*quit)(void);
00037     GHashTable* (*get_ui_info)(void);
00038 
00039     void (*_purple_reserved1)(void);
00040     void (*_purple_reserved2)(void);
00041     void (*_purple_reserved3)(void);
00042 } PurpleCoreUiOps;
00043 
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047 
00058 gboolean purple_core_init(const char *ui);
00059 
00064 void purple_core_quit(void);
00065 
00078 gboolean purple_core_quit_cb(gpointer unused);
00079 
00085 const char *purple_core_get_version(void);
00086 
00092 const char *purple_core_get_ui(void);
00093 
00099 PurpleCore *purple_get_core(void);
00100 
00106 void purple_core_set_ui_ops(PurpleCoreUiOps *ops);
00107 
00113 PurpleCoreUiOps *purple_core_get_ui_ops(void);
00114 
00124 gboolean purple_core_migrate(void);
00125 
00134 gboolean purple_core_ensure_single_instance(void);
00135 
00145 GHashTable* purple_core_get_ui_info(void);
00146 
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150 
00151 #endif /* _PURPLE_CORE_H_ */
00152 
00153 /*
00154 
00155                                                   /===-
00156                                                 `//"\\   """"`---.___.-""
00157              ______-==|                         | |  \\           _-"`
00158        __--"""  ,-/-==\\                        | |   `\        ,'
00159     _-"       /'    |  \\            ___         / /      \      /
00160   .'        /       |   \\         /"   "\    /' /        \   /'
00161  /  ____  /         |    \`\.__/-""  D O   \_/'  /          \/'
00162 /-'"    """""---__  |     "-/"   O G     R   /'        _--"`
00163                   \_|      /   R    __--_  t ),   __--""
00164                     '""--_/  T   _-"_>--<_\ h '-" \
00165                    {\__--_/}    / \\__>--<__\ e B  \
00166                    /'   (_/  _-"  | |__>--<__|   U  |
00167                   |   _/) )-"     | |__>--<__|  R   |
00168                   / /" ,_/       / /__>---<__/ N    |
00169                  o-o _//        /-"_>---<__-" I    /
00170                  (^("          /"_>---<__-  N   _-"
00171                 ,/|           /__>--<__/  A  _-"
00172              ,//('(          |__>--<__|  T  /                  .----_
00173             ( ( '))          |__>--<__|    |                 /' _---_"\
00174          `-)) )) (           |__>--<__|  O |               /'  /     "\`\
00175         ,/,'//( (             \__>--<__\  R \            /'  //        ||
00176       ,( ( ((, ))              "-__>--<_"-_  "--____---"' _/'/        /'
00177     `"/  )` ) ,/|                 "-_">--<_/-__       __-" _/
00178   ._-"//( )/ )) `                    ""-'_/_/ /"""""""__--"
00179    ;'( ')/ ,)(                              """"""""""
00180   ' ') '( (/
00181     '   '  `
00182 
00183 */