14192
|
1 /**
|
|
2 * @defgroup core Gaim Core
|
|
3 *
|
|
4 * gaim
|
|
5 *
|
|
6 * Gaim is the legal property of its developers, whose names are too numerous
|
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this
|
|
8 * source distribution.
|
|
9 *
|
|
10 * This program is free software; you can redistribute it and/or modify
|
|
11 * it under the terms of the GNU General Public License as published by
|
|
12 * the Free Software Foundation; either version 2 of the License, or
|
|
13 * (at your option) any later version.
|
|
14 *
|
|
15 * This program is distributed in the hope that it will be useful,
|
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18 * GNU General Public License for more details.
|
|
19 *
|
|
20 * You should have received a copy of the GNU General Public License
|
|
21 * along with this program; if not, write to the Free Software
|
|
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
23 */
|
|
24 #ifndef _GAIM_CORE_H_
|
|
25 #define _GAIM_CORE_H_
|
|
26
|
|
27 typedef struct GaimCore GaimCore;
|
|
28
|
|
29 typedef struct
|
|
30 {
|
|
31 void (*ui_prefs_init)(void);
|
|
32 void (*debug_ui_init)(void); /* Unfortunate necessity. */
|
|
33 void (*ui_init)(void);
|
|
34 void (*quit)(void);
|
|
35
|
|
36 } GaimCoreUiOps;
|
|
37
|
|
38 #ifdef __cplusplus
|
|
39 extern "C" {
|
|
40 #endif
|
|
41
|
|
42 /**
|
|
43 * Initializes the core of gaim.
|
|
44 *
|
|
45 * This will setup preferences for all the core subsystems.
|
|
46 *
|
|
47 * @param ui The ID of the UI using the core. This should be a
|
|
48 * unique ID, registered with the gaim team.
|
|
49 *
|
|
50 * @return @c TRUE if successful, or @c FALSE otherwise.
|
|
51 */
|
|
52 gboolean gaim_core_init(const char *ui);
|
|
53
|
|
54 /**
|
|
55 * Quits the core of gaim, which, depending on the UI, may quit the
|
|
56 * application using the gaim core.
|
|
57 */
|
|
58 void gaim_core_quit(void);
|
|
59
|
|
60 /**
|
|
61 * Calls gaim_core_quit(). This can be used as the function
|
|
62 * passed to gaim_timeout_add() when you want to shutdown Gaim
|
|
63 * in a specified amount of time. When shutting down Gaim
|
|
64 * from a plugin, you must use this with a timeout value of 0:
|
|
65 * gaim_timeout_add(0, gaim_core_quitcb, NULL);
|
|
66 * This is ensures that code from your plugin is not being
|
|
67 * executed when gaim_core_quit() is called. Otherwise you
|
|
68 * would get a core dump after gaim_core_quit() executes and
|
|
69 * control returns to your plugin because gaim_core_quit() frees
|
|
70 * all plugins.
|
|
71 */
|
|
72 gboolean gaim_core_quit_cb(gpointer unused);
|
|
73
|
|
74 /**
|
|
75 * Returns the version of the core library.
|
|
76 *
|
|
77 * @return The version of the core library.
|
|
78 */
|
|
79 const char *gaim_core_get_version(void);
|
|
80
|
|
81 /**
|
|
82 * Returns the ID of the UI that is using the core.
|
|
83 *
|
|
84 * @return The ID of the UI that is currently using the core.
|
|
85 */
|
|
86 const char *gaim_core_get_ui(void);
|
|
87
|
|
88 /**
|
|
89 * Returns a handle to the gaim core.
|
|
90 *
|
|
91 * This is used for such things as signals.
|
|
92 */
|
|
93 GaimCore *gaim_get_core(void);
|
|
94
|
|
95 /**
|
|
96 * Sets the UI ops for the core.
|
|
97 *
|
|
98 * @param ops A UI ops structure for the core.
|
|
99 */
|
|
100 void gaim_core_set_ui_ops(GaimCoreUiOps *ops);
|
|
101
|
|
102 /**
|
|
103 * Returns the UI ops for the core.
|
|
104 *
|
|
105 * @return The core's UI ops structure.
|
|
106 */
|
|
107 GaimCoreUiOps *gaim_core_get_ui_ops(void);
|
|
108
|
|
109 #ifdef __cplusplus
|
|
110 }
|
|
111 #endif
|
|
112
|
|
113 #endif /* _GAIM_CORE_H_ */
|
|
114
|
|
115 /*
|
|
116
|
|
117 /===-
|
|
118 `//"\\ """"`---.___.-""
|
|
119 ______-==| | | \\ _-"`
|
|
120 __--""" ,-/-==\\ | | `\ ,'
|
|
121 _-" /' | \\ ___ / / \ /
|
|
122 .' / | \\ /" "\ /' / \ /'
|
|
123 / ____ / | \`\.__/-"" D O \_/' / \/'
|
|
124 /-'" """""---__ | "-/" O G R /' _--"`
|
|
125 \_| / R __--_ t ), __--""
|
|
126 '""--_/ T _-"_>--<_\ h '-" \
|
|
127 {\__--_/} / \\__>--<__\ e B \
|
|
128 /' (_/ _-" | |__>--<__| U |
|
|
129 | _/) )-" | |__>--<__| R |
|
|
130 / /" ,_/ / /__>---<__/ N |
|
|
131 o-o _// /-"_>---<__-" I /
|
|
132 (^(" /"_>---<__- N _-"
|
|
133 ,/| /__>--<__/ A _-"
|
|
134 ,//('( |__>--<__| T / .----_
|
|
135 ( ( ')) |__>--<__| | /' _---_"\
|
|
136 `-)) )) ( |__>--<__| O | /' / "\`\
|
|
137 ,/,'//( ( \__>--<__\ R \ /' // ||
|
|
138 ,( ( ((, )) "-__>--<_"-_ "--____---"' _/'/ /'
|
|
139 `"/ )` ) ,/| "-_">--<_/-__ __-" _/
|
|
140 ._-"//( )/ )) ` ""-'_/_/ /"""""""__--"
|
|
141 ;'( ')/ ,)( """"""""""
|
|
142 ' ') '( (/
|
|
143 ' ' `
|
|
144
|
|
145 */
|