core.h

Go to the documentation of this file.
00001 
00007 /* purple
00008  *
00009  * Purple is the legal property of its developers, whose names are too numerous
00010  * to list here.  Please refer to the COPYRIGHT file distributed with this
00011  * source distribution.
00012  *
00013  * This program is free software; you can redistribute it and/or modify
00014  * it under the terms of the GNU General Public License as published by
00015  * the Free Software Foundation; either version 2 of the License, or
00016  * (at your option) any later version.
00017  *
00018  * This program is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021  * GNU General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU General Public License
00024  * along with this program; if not, write to the Free Software
00025  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
00026  */
00027 #ifndef _PURPLE_CORE_H_
00028 #define _PURPLE_CORE_H_
00029 
00030 typedef struct PurpleCore PurpleCore;
00031 
00036 typedef struct
00037 {
00042     void (*ui_prefs_init)(void);
00049     void (*debug_ui_init)(void);
00055     void (*ui_init)(void);
00057     void (*quit)(void);
00058 
00062     GHashTable* (*get_ui_info)(void);
00063 
00064     void (*_purple_reserved1)(void);
00065     void (*_purple_reserved2)(void);
00066     void (*_purple_reserved3)(void);
00067 } PurpleCoreUiOps;
00068 
00069 #ifdef __cplusplus
00070 extern "C" {
00071 #endif
00072 
00083 gboolean purple_core_init(const char *ui);
00084 
00089 void purple_core_quit(void);
00090 
00110 gboolean purple_core_quit_cb(gpointer unused);
00111 
00117 const char *purple_core_get_version(void);
00118 
00125 const char *purple_core_get_ui(void);
00126 
00132 PurpleCore *purple_get_core(void);
00133 
00139 void purple_core_set_ui_ops(PurpleCoreUiOps *ops);
00140 
00146 PurpleCoreUiOps *purple_core_get_ui_ops(void);
00147 
00157 gboolean purple_core_migrate(void);
00158 
00170 gboolean purple_core_ensure_single_instance(void);
00171 
00197 GHashTable* purple_core_get_ui_info(void);
00198 
00199 #ifdef __cplusplus
00200 }
00201 #endif
00202 
00203 #endif /* _PURPLE_CORE_H_ */
00204 
00205 /*
00206 
00207                                                   /===-
00208                                                 `//"\\   """"`---.___.-""
00209              ______-==|                         | |  \\           _-"`
00210        __--"""  ,-/-==\\                        | |   `\        ,'
00211     _-"       /'    |  \\            ___         / /      \      /
00212   .'        /       |   \\         /"   "\    /' /        \   /'
00213  /  ____  /         |    \`\.__/-""  D O   \_/'  /          \/'
00214 /-'"    """""---__  |     "-/"   O G     R   /'        _--"`
00215                   \_|      /   R    __--_  t ),   __--""
00216                     '""--_/  T   _-"_>--<_\ h '-" \
00217                    {\__--_/}    / \\__>--<__\ e B  \
00218                    /'   (_/  _-"  | |__>--<__|   U  |
00219                   |   _/) )-"     | |__>--<__|  R   |
00220                   / /" ,_/       / /__>---<__/ N    |
00221                  o-o _//        /-"_>---<__-" I    /
00222                  (^("          /"_>---<__-  N   _-"
00223                 ,/|           /__>--<__/  A  _-"
00224              ,//('(          |__>--<__|  T  /                  .----_
00225             ( ( '))          |__>--<__|    |                 /' _---_"\
00226          `-)) )) (           |__>--<__|  O |               /'  /     "\`\
00227         ,/,'//( (             \__>--<__\  R \            /'  //        ||
00228       ,( ( ((, ))              "-__>--<_"-_  "--____---"' _/'/        /'
00229     `"/  )` ) ,/|                 "-_">--<_/-__       __-" _/
00230   ._-"//( )/ )) `                    ""-'_/_/ /"""""""__--"
00231    ;'( ')/ ,)(                              """"""""""
00232   ' ') '( (/
00233     '   '  `
00234 
00235 */