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 
00037 #ifndef _PURPLE_CORE_H_
00038 #define _PURPLE_CORE_H_
00039 
00040 typedef struct PurpleCore PurpleCore;
00041 
00046 typedef struct
00047 {
00052     void (*ui_prefs_init)(void);
00059     void (*debug_ui_init)(void);
00065     void (*ui_init)(void);
00067     void (*quit)(void);
00068 
00072     GHashTable* (*get_ui_info)(void);
00073 
00074     void (*_purple_reserved1)(void);
00075     void (*_purple_reserved2)(void);
00076     void (*_purple_reserved3)(void);
00077 } PurpleCoreUiOps;
00078 
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082 
00093 gboolean purple_core_init(const char *ui);
00094 
00099 void purple_core_quit(void);
00100 
00120 gboolean purple_core_quit_cb(gpointer unused);
00121 
00127 const char *purple_core_get_version(void);
00128 
00135 const char *purple_core_get_ui(void);
00136 
00142 PurpleCore *purple_get_core(void);
00143 
00149 void purple_core_set_ui_ops(PurpleCoreUiOps *ops);
00150 
00156 PurpleCoreUiOps *purple_core_get_ui_ops(void);
00157 
00167 gboolean purple_core_migrate(void);
00168 
00180 gboolean purple_core_ensure_single_instance(void);
00181 
00213 GHashTable* purple_core_get_ui_info(void);
00214 
00215 #ifdef __cplusplus
00216 }
00217 #endif
00218 
00219 #endif /* _PURPLE_CORE_H_ */
00220 
00221 /*
00222 
00223                                                   /===-
00224                                                 `//"\\   """"`---.___.-""
00225              ______-==|                         | |  \\           _-"`
00226        __--"""  ,-/-==\\                        | |   `\        ,'
00227     _-"       /'    |  \\            ___         / /      \      /
00228   .'        /       |   \\         /"   "\    /' /        \   /'
00229  /  ____  /         |    \`\.__/-""  D O   \_/'  /          \/'
00230 /-'"    """""---__  |     "-/"   O G     R   /'        _--"`
00231                   \_|      /   R    __--_  t ),   __--""
00232                     '""--_/  T   _-"_>--<_\ h '-" \
00233                    {\__--_/}    / \\__>--<__\ e B  \
00234                    /'   (_/  _-"  | |__>--<__|   U  |
00235                   |   _/) )-"     | |__>--<__|  R   |
00236                   / /" ,_/       / /__>---<__/ N    |
00237                  o-o _//        /-"_>---<__-" I    /
00238                  (^("          /"_>---<__-  N   _-"
00239                 ,/|           /__>--<__/  A  _-"
00240              ,//('(          |__>--<__|  T  /                  .----_
00241             ( ( '))          |__>--<__|    |                 /' _---_"\
00242          `-)) )) (           |__>--<__|  O |               /'  /     "\`\
00243         ,/,'//( (             \__>--<__\  R \            /'  //        ||
00244       ,( ( ((, ))              "-__>--<_"-_  "--____---"' _/'/        /'
00245     `"/  )` ) ,/|                 "-_">--<_/-__       __-" _/
00246   ._-"//( )/ )) `                    ""-'_/_/ /"""""""__--"
00247    ;'( ')/ ,)(                              """"""""""
00248   ' ') '( (/
00249     '   '  `
00250 
00251 */