core.h
Go to the documentation of this file.
1 
7 /* purple
8  *
9  * Purple is the legal property of its developers, whose names are too numerous
10  * to list here. Please refer to the COPYRIGHT file distributed with this
11  * source distribution.
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
26  */
27 
37 #ifndef _PURPLE_CORE_H_
38 #define _PURPLE_CORE_H_
39 
40 typedef struct PurpleCore PurpleCore;
41 
46 typedef struct
47 {
52  void (*ui_prefs_init)(void);
59  void (*debug_ui_init)(void);
65  void (*ui_init)(void);
67  void (*quit)(void);
68 
72  GHashTable* (*get_ui_info)(void);
73 
74  void (*_purple_reserved1)(void);
75  void (*_purple_reserved2)(void);
76  void (*_purple_reserved3)(void);
78 
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
93 gboolean purple_core_init(const char *ui);
94 
99 void purple_core_quit(void);
100 
120 gboolean purple_core_quit_cb(gpointer unused);
121 
127 const char *purple_core_get_version(void);
128 
135 const char *purple_core_get_ui(void);
136 
142 PurpleCore *purple_get_core(void);
143 
150 
157 
167 gboolean purple_core_migrate(void);
168 
181 
213 GHashTable* purple_core_get_ui_info(void);
214 
215 #ifdef __cplusplus
216 }
217 #endif
218 
219 #endif /* _PURPLE_CORE_H_ */
220 
221 /*
222 
223  /===-
224  `//"\\ """"`---.___.-""
225  ______-==| | | \\ _-"`
226  __--""" ,-/-==\\ | | `\ ,'
227  _-" /' | \\ ___ / / \ /
228  .' / | \\ /" "\ /' / \ /'
229  / ____ / | \`\.__/-"" D O \_/' / \/'
230 /-'" """""---__ | "-/" O G R /' _--"`
231  \_| / R __--_ t ), __--""
232  '""--_/ T _-"_>--<_\ h '-" \
233  {\__--_/} / \\__>--<__\ e B \
234  /' (_/ _-" | |__>--<__| U |
235  | _/) )-" | |__>--<__| R |
236  / /" ,_/ / /__>---<__/ N |
237  o-o _// /-"_>---<__-" I /
238  (^(" /"_>---<__- N _-"
239  ,/| /__>--<__/ A _-"
240  ,//('( |__>--<__| T / .----_
241  ( ( ')) |__>--<__| | /' _---_"\
242  `-)) )) ( |__>--<__| O | /' / "\`\
243  ,/,'//( ( \__>--<__\ R \ /' // ||
244  ,( ( ((, )) "-__>--<_"-_ "--____---"' _/'/ /'
245  `"/ )` ) ,/| "-_">--<_/-__ __-" _/
246  ._-"//( )/ )) ` ""-'_/_/ /"""""""__--"
247  ;'( ')/ ,)( """"""""""
248  ' ') '( (/
249  ' ' `
250 
251 */
void purple_core_set_ui_ops(PurpleCoreUiOps *ops)
Sets the UI ops for the core.
void purple_core_quit(void)
Quits the core of purple, which, depending on the UI, may quit the application using the purple core...
const char * purple_core_get_version(void)
Returns the version of the core library.
gboolean purple_core_ensure_single_instance(void)
Ensures that only one instance is running.
gboolean purple_core_quit_cb(gpointer unused)
PurpleCoreUiOps * purple_core_get_ui_ops(void)
Returns the UI ops for the core.
GHashTable * purple_core_get_ui_info(void)
Returns a hash table containing various information about the UI.
Callbacks that fire at different points of the initialization and teardown of libpurple, along with a hook to return descriptive information about the UI.
Definition: core.h:46
PurpleCore * purple_get_core(void)
Returns a handle to the purple core.
gboolean purple_core_migrate(void)
Migrates from .gaim to .purple.
gboolean purple_core_init(const char *ui)
Initializes the core of purple.
const char * purple_core_get_ui(void)
Returns the ID of the UI that is using the core, as passed to purple_core_init(). ...