libpurple/plugins.h

Sat, 28 Sep 2019 01:30:49 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 28 Sep 2019 01:30:49 -0500
changeset 39872
669d3113448d
parent 39837
4cd31f854f9a
child 39896
e94146df6f96
permissions
-rw-r--r--

Document the fields of PurplePluginAction

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
1 /* purple
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8028
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8028
diff changeset
5 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 5949
diff changeset
6 *
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18412
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
21
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
22 #ifndef PURPLE_PLUGINS_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
23 #define PURPLE_PLUGINS_H
37060
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
24 /**
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
25 * SECTION:plugins
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
26 * @section_id: libpurple-plugins
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
27 * @short_description: <filename>plugins.h</filename>
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
28 * @title: Plugin API
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
29 * @see_also: <link linkend="chapter-signals-plugin">Plugin signals</link>,
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
30 * <link linkend="chapter-plugin-ids">Plugin IDs</link>,
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
31 * <link linkend="chapter-plugin-i18n">Third Party Plugin Translation</link>
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
32 */
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
33
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
34 #include <gplugin.h>
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
35 #include <gplugin-native.h>
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
36450
ffa06ea2a4f8 Added PURPLE_ABI_VERSION macro to use for the "abi_version" property of PurplePluginInfo
Ankit Vani <a@nevitus.org>
parents: 36447
diff changeset
37 #include "version.h"
ffa06ea2a4f8 Added PURPLE_ABI_VERSION macro to use for the "abi_version" property of PurplePluginInfo
Ankit Vani <a@nevitus.org>
parents: 36447
diff changeset
38
36509
86e882c3cfdf Refactored libpurple according to the changes
Ankit Vani <a@nevitus.org>
parents: 36508
diff changeset
39 #define PURPLE_PLUGINS_DOMAIN (g_quark_from_static_string("plugins"))
86e882c3cfdf Refactored libpurple according to the changes
Ankit Vani <a@nevitus.org>
parents: 36508
diff changeset
40
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
41 #define PURPLE_TYPE_PLUGIN GPLUGIN_TYPE_PLUGIN
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
42 #define PURPLE_PLUGIN(obj) GPLUGIN_PLUGIN(obj)
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
43 #define PURPLE_IS_PLUGIN(obj) GPLUGIN_IS_PLUGIN(obj)
39419
e8e189c88b13 libpurple: Port to new, refactored API of GPlugin 0.28
Mike Ruprecht <cmaiku@gmail.com>
parents: 39411
diff changeset
44 #define PURPLE_PLUGIN_GET_IFACE(obj) GPLUGIN_PLUGIN_GET_IFACE(obj)
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
45
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
46 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
47 * PurplePlugin:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
48 *
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
49 * Represents a plugin handle.
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
50 * This type is an alias for GPluginPlugin.
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
51 */
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
52 typedef GPluginPlugin PurplePlugin;
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
53
39419
e8e189c88b13 libpurple: Port to new, refactored API of GPlugin 0.28
Mike Ruprecht <cmaiku@gmail.com>
parents: 39411
diff changeset
54 typedef GPluginPluginInterface PurplePluginInterface;
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
55
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
56 #define PURPLE_TYPE_PLUGIN_INFO (purple_plugin_info_get_type())
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
57 #define PURPLE_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfo))
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
58 #define PURPLE_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfoClass))
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
59 #define PURPLE_IS_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PLUGIN_INFO))
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
60 #define PURPLE_IS_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_PLUGIN_INFO))
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
61 #define PURPLE_PLUGIN_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfoClass))
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
62
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
63 typedef struct _PurplePluginInfo PurplePluginInfo;
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
64 typedef struct _PurplePluginInfoClass PurplePluginInfoClass;
8749
fb487e9e101a [gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents: 8735
diff changeset
65
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
66 #define PURPLE_TYPE_PLUGIN_ACTION (purple_plugin_action_get_type())
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
67
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
68 typedef struct _PurplePluginAction PurplePluginAction;
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
69
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
70 #include "pluginpref.h"
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
71
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
72 /**
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
73 * PurplePluginActionCb:
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
74 * @action: the action information.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
75 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
76 * A function called when the related Action Menu is activated.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
77 */
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
78 typedef void (*PurplePluginActionCb)(PurplePluginAction *action);
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
79
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
80 /**
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
81 * PurplePluginActionsCb:
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
82 * @plugin: the plugin associated with this callback.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
83 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
84 * Returns a list of actions the plugin can perform.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
85 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
86 * Returns: (transfer none): A list of actions the plugin can perform.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
87 */
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
88 typedef GList *(*PurplePluginActionsCb)(PurplePlugin *plugin);
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
89
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
90 /**
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
91 * PurplePluginExtraCb:
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
92 * @plugin: the plugin associated with this callback.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
93 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
94 * Gives extra information about the plguin.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
95 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
96 * Returns: a newly allocated string denoting extra information
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
97 * about a plugin.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
98 */
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
99 typedef gchar *(*PurplePluginExtraCb)(PurplePlugin *plugin);
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
100
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
101 /**
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
102 * PurplePluginPrefFrameCb:
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
103 * @plugin: the plugin associated with this callback.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
104 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
105 * Returns the preferences frame for the plugin.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
106 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
107 * Returns: Preference frame.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
108 */
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
109 typedef PurplePluginPrefFrame *(*PurplePluginPrefFrameCb)(PurplePlugin *plugin);
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
110
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
111 /**
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
112 * PurplePrefRequestCb:
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
113 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
114 * Returns the preferences request handle for a plugin.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
115 *
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
116 * Returns: Preferences request handle.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
117 */
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
118 typedef gpointer (*PurplePluginPrefRequestCb)(PurplePlugin *plugin);
36364
4a5544383bc8 Refactored account to use the initial GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 36357
diff changeset
119
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
121 * PurplePluginInfoFlags:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
122 * @PURPLE_PLUGIN_INFO_FLAGS_INTERNAL: Plugin is not shown in UI lists
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
123 * @PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD: Auto-load the plugin
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
124 *
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
125 * Flags that can be used to treat plugins differently.
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
126 */
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
127 typedef enum /*< flags >*/
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
128 {
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
129 PURPLE_PLUGIN_INFO_FLAGS_INTERNAL = 1 << 1,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
130 PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD = 1 << 2,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
131
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
132 } PurplePluginInfoFlags;
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
133
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
134 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
135 * PurplePluginInfo:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
136 * @ui_data: The UI data associated with the plugin. This is a convenience
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
137 * field provided to the UIs -- it is not used by the libpurple core.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
138 *
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
139 * Holds information about a plugin.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
141 struct _PurplePluginInfo {
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
142 GPluginPluginInfo parent;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
144 /*< public >*/
36926
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
145 gpointer ui_data;
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
146 };
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
148 struct _PurplePluginInfoClass {
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
149 GPluginPluginInfoClass parent_class;
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
150
36896
3865997e388b Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36810
diff changeset
151 /*< private >*/
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
152 void (*_purple_reserved1)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
153 void (*_purple_reserved2)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
154 void (*_purple_reserved3)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
155 void (*_purple_reserved4)(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
158 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
159 * PurplePluginAction:
39872
669d3113448d Document the fields of PurplePluginAction
Gary Kramlich <grim@reaperworld.com>
parents: 39837
diff changeset
160 * @label: The label to display in the user interface.
669d3113448d Document the fields of PurplePluginAction
Gary Kramlich <grim@reaperworld.com>
parents: 39837
diff changeset
161 * @callback: The function to call when the user wants to perform this action.
669d3113448d Document the fields of PurplePluginAction
Gary Kramlich <grim@reaperworld.com>
parents: 39837
diff changeset
162 * @plugin: The plugin that this action belongs to.
669d3113448d Document the fields of PurplePluginAction
Gary Kramlich <grim@reaperworld.com>
parents: 39837
diff changeset
163 * @user_data: User data to pass to @callback.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
164 *
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
165 * Represents an action that the plugin can perform. This shows up in the Tools
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
166 * menu, under a submenu with the name of the plugin.
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
167 */
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
168 struct _PurplePluginAction {
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
169 char *label;
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
170 PurplePluginActionCb callback;
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
171 PurplePlugin *plugin;
36495
a9e328e153ab will document id format later
Ankit Vani <a@nevitus.org>
parents: 36493
diff changeset
172 gpointer user_data;
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
173 };
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
174
36989
5bbf6d7050d8 Document the ABI version bitwise magic
Ankit Vani <a@nevitus.org>
parents: 36976
diff changeset
175 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
176 * PURPLE_PLUGIN_ABI_VERSION:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
177 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
178 * Note: The lower six nibbles represent the ABI version for libpurple, the
36989
5bbf6d7050d8 Document the ABI version bitwise magic
Ankit Vani <a@nevitus.org>
parents: 36976
diff changeset
179 * rest are required by GPlugin.
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
180 *
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
181 * Returns: An ABI version to set in plugins using major and minor versions.
36989
5bbf6d7050d8 Document the ABI version bitwise magic
Ankit Vani <a@nevitus.org>
parents: 36976
diff changeset
182 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
183 #define PURPLE_PLUGIN_ABI_VERSION(major,minor) \
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
184 (0x01000000 | ((major) << 16) | (minor))
36505
60c161851325 Integrated purple ABI requirement into GPlugin's "abi-version" property
Ankit Vani <a@nevitus.org>
parents: 36499
diff changeset
185
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
186 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
187 * PURPLE_PLUGIN_ABI_MAJOR_VERSION:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
188 *
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
189 * Returns: The major version from an ABI version
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
190 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
191 #define PURPLE_PLUGIN_ABI_MAJOR_VERSION(abi) \
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
192 ((abi >> 16) & 0xff)
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
193
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
194 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
195 * PURPLE_PLUGIN_ABI_MINOR_VERSION:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
196 *
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
197 * Returns: The minor version from an ABI version
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
198 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
199 #define PURPLE_PLUGIN_ABI_MINOR_VERSION(abi) \
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
200 (abi & 0xffff)
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
201
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
202 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
203 * PURPLE_ABI_VERSION:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
204 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
205 * A convenience‎ macro that returns an ABI version using PURPLE_MAJOR_VERSION
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
206 * and PURPLE_MINOR_VERSION
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
207 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
208 #define PURPLE_ABI_VERSION PURPLE_PLUGIN_ABI_VERSION(PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION)
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
209
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
210 /**
36611
07d5c0892315 Added macros PURPLE_PLUGIN_INIT_VAL, PURPLE_PROTOCOL_DEFINE_{STATIC,DYNAMIC}.
Ankit Vani <a@nevitus.org>
parents: 36565
diff changeset
211 * PURPLE_PLUGIN_INIT:
07d5c0892315 Added macros PURPLE_PLUGIN_INIT_VAL, PURPLE_PROTOCOL_DEFINE_{STATIC,DYNAMIC}.
Ankit Vani <a@nevitus.org>
parents: 36565
diff changeset
212 *
07d5c0892315 Added macros PURPLE_PLUGIN_INIT_VAL, PURPLE_PROTOCOL_DEFINE_{STATIC,DYNAMIC}.
Ankit Vani <a@nevitus.org>
parents: 36565
diff changeset
213 * Defines the plugin's entry points.
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
214 */
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
215 #define PURPLE_PLUGIN_INIT(pluginname,pluginquery,pluginload,pluginunload) \
36944
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
216 G_MODULE_EXPORT GPluginPluginInfo *gplugin_query(GError **e); \
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
217 G_MODULE_EXPORT GPluginPluginInfo *gplugin_query(GError **e) { \
36486
b5167dc125f5 Plugins can return an error when failing to load
Ankit Vani <a@nevitus.org>
parents: 36482
diff changeset
218 return GPLUGIN_PLUGIN_INFO(pluginquery(e)); \
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
219 } \
36944
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
220 G_MODULE_EXPORT gboolean gplugin_load(GPluginNativePlugin *p, GError **e); \
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
221 G_MODULE_EXPORT gboolean gplugin_load(GPluginNativePlugin *p, GError **e) { \
36486
b5167dc125f5 Plugins can return an error when failing to load
Ankit Vani <a@nevitus.org>
parents: 36482
diff changeset
222 return pluginload(PURPLE_PLUGIN(p), e); \
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
223 } \
36944
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
224 G_MODULE_EXPORT gboolean gplugin_unload(GPluginNativePlugin *p, GError **e); \
03eabcfba5ba Updated gplugin external functions
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
225 G_MODULE_EXPORT gboolean gplugin_unload(GPluginNativePlugin *p, GError **e) { \
36486
b5167dc125f5 Plugins can return an error when failing to load
Ankit Vani <a@nevitus.org>
parents: 36482
diff changeset
226 return pluginunload(PURPLE_PLUGIN(p), e); \
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
227 }
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36450
diff changeset
228
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
229 /**
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
230 * PURPLE_DEFINE_TYPE:
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
231 * @TN: The name of the new type, in Camel case.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
232 * @t_n: The name of the new type, in lowercase, words separated by '_'.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
233 * @T_P: The #GType of the parent type.
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
234 *
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
235 * A convenience macro for type implementations, which defines a *_get_type()
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
236 * function; and a *_register_type() function for use in your plugin's load
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
237 * function. You must define an instance initialization function *_init()
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
238 * and a class initialization function *_class_init() for the type.
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
239 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
240 #define PURPLE_DEFINE_TYPE(TN, t_n, T_P) \
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
241 PURPLE_DEFINE_DYNAMIC_TYPE(TN, t_n, T_P)
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
242
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
243 /**
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
244 * PURPLE_DEFINE_TYPE_EXTENDED:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
245 * @TN: The name of the new type, in Camel case.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
246 * @t_n: The name of the new type, in lowercase, words separated by '_'.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
247 * @T_P: The #GType of the parent type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
248 * @flags: #GTypeFlags to register the type with.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
249 * @CODE: Custom code that gets inserted in *_get_type().
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
250 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
251 * A more general version of PURPLE_DEFINE_TYPE() which allows you to
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
252 * specify #GTypeFlags and custom code.
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
253 */
36899
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
254 #define PURPLE_DEFINE_TYPE_EXTENDED \
b2591070c07b Rearranged macro definitions so that gtk-doc does not show incorrent expansions
Ankit Vani <a@nevitus.org>
parents: 36896
diff changeset
255 PURPLE_DEFINE_DYNAMIC_TYPE_EXTENDED
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
256
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
257 /**
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
258 * PURPLE_IMPLEMENT_INTERFACE_STATIC:
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
259 * @TYPE_IFACE: The #GType of the interface to add.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
260 * @iface_init: The interface init function.
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
261 *
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
262 * A convenience macro to ease static interface addition in the CODE section
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
263 * of PURPLE_DEFINE_TYPE_EXTENDED(). You should use this macro if the
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
264 * interface is a part of the libpurple core.
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
265 */
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
266 #define PURPLE_IMPLEMENT_INTERFACE_STATIC(TYPE_IFACE, iface_init) { \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
267 const GInterfaceInfo interface_info = { \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
268 (GInterfaceInitFunc) iface_init, NULL, NULL \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
269 }; \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
270 g_type_add_interface_static(type_id, TYPE_IFACE, &interface_info); \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
271 }
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
272
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
273 /**
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
274 * PURPLE_IMPLEMENT_INTERFACE:
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
275 * @TYPE_IFACE: The #GType of the interface to add.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
276 * @iface_init: The interface init function.
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
277 *
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
278 * A convenience macro to ease interface addition in the CODE section
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
279 * of PURPLE_DEFINE_TYPE_EXTENDED(). You should use this macro if the
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
280 * interface lives in the plugin.
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
281 */
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
282 #define PURPLE_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
283 PURPLE_IMPLEMENT_INTERFACE_DYNAMIC(TYPE_IFACE, iface_init)
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
284
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
285 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
286 * PURPLE_DEFINE_DYNAMIC_TYPE:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
287 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
288 * A convenience macro for dynamic type implementations.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
289 */
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
290 #define PURPLE_DEFINE_DYNAMIC_TYPE(TN, t_n, T_P) \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
291 PURPLE_DEFINE_DYNAMIC_TYPE_EXTENDED (TN, t_n, T_P, 0, {})
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
292
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
293 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
294 * PURPLE_DEFINE_DYNAMIC_TYPE_EXTENDED:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
295 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
296 * A more general version of PURPLE_DEFINE_DYNAMIC_TYPE().
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
297 */
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
298 #define PURPLE_DEFINE_DYNAMIC_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, CODE) \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
299 static GType type_name##_type_id = 0; \
36776
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
300 G_MODULE_EXPORT GType type_name##_get_type(void) { \
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
301 return type_name##_type_id; \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
302 } \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
303 void type_name##_register_type(PurplePlugin *); \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
304 void type_name##_register_type(PurplePlugin *plugin) { \
36776
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
305 GType type_id; \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
306 const GTypeInfo type_info = { \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
307 sizeof (TypeName##Class), \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
308 (GBaseInitFunc) NULL, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
309 (GBaseFinalizeFunc) NULL, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
310 (GClassInitFunc) type_name##_class_init, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
311 (GClassFinalizeFunc) NULL, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
312 NULL, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
313 sizeof (TypeName), \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
314 0, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
315 (GInstanceInitFunc) type_name##_init, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
316 NULL \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
317 }; \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
318 type_id = purple_plugin_register_type(plugin, TYPE_PARENT, #TypeName, \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
319 &type_info, (GTypeFlags) flags); \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
320 type_name##_type_id = type_id; \
5f61d5e5cf47 Allow register_type() to be executed multiple times
Ankit Vani <a@nevitus.org>
parents: 36750
diff changeset
321 { CODE ; } \
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
322 }
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
323
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
324 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
325 * PURPLE_IMPLEMENT_INTERFACE_DYNAMIC:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
326 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
327 * A convenience macro to ease dynamic interface addition.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
328 */
36697
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
329 #define PURPLE_IMPLEMENT_INTERFACE_DYNAMIC(TYPE_IFACE, iface_init) { \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
330 const GInterfaceInfo interface_info = { \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
331 (GInterfaceInitFunc) iface_init, NULL, NULL \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
332 }; \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
333 purple_plugin_add_interface(plugin, type_id, TYPE_IFACE, &interface_info); \
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
334 }
114b217537c2 Added generic type registration macros for use in plugins
Ankit Vani <a@nevitus.org>
parents: 36696
diff changeset
335
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
336 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
337
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
339 /* Plugin API */
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
340 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
341
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
342 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
343 * purple_plugin_load:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
344 * @plugin: The plugin to load.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
345 * @error: Return location for a #GError or %NULL. If provided, this
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
346 * will be set to the reason if the load fails.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
347 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
348 * Attempts to load a plugin.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
349 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
350 * Also see purple_plugin_unload().
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
351 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
352 * Returns: %TRUE if successful or already loaded, %FALSE otherwise.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
353 */
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
354 gboolean purple_plugin_load(PurplePlugin *plugin, GError **error);
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
355
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
356 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
357 * purple_plugin_unload:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
358 * @plugin: The plugin handle.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
359 * @error: Return location for a #GError or %NULL. If provided, this
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
360 * will be set to the reason if the unload fails.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
361 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
362 * Unloads the specified plugin.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
363 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
364 * Also see purple_plugin_load().
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
365 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
366 * Returns: %TRUE if successful or not loaded, %FALSE otherwise.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
367 */
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
368 gboolean purple_plugin_unload(PurplePlugin *plugin, GError **error);
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
369
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
370 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
371 * purple_plugin_is_loaded:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
372 * @plugin: The plugin.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
373 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
374 * Returns whether or not a plugin is currently loaded.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
375 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
376 * Returns: %TRUE if loaded, or %FALSE otherwise.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
377 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
378 gboolean purple_plugin_is_loaded(PurplePlugin *plugin);
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
379
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
380 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
381 * purple_plugin_get_info:
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
382 * @plugin: The plugin.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
383 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
384 * Returns a plugin's #PurplePluginInfo instance.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
385 *
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38016
diff changeset
386 * Returns: (transfer none): The plugin's #PurplePluginInfo instance.
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
387 * GPlugin refs the plugin info object before returning it. This workaround
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
388 * is to avoid managing the reference counts everywhere in our codebase
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
389 * where we use the plugin info. The plugin info instance is guaranteed to
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
390 * exist as long as the plugin exists.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
391 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
392 PurplePluginInfo *purple_plugin_get_info(PurplePlugin *plugin);
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
393
36396
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
394 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
395 * purple_plugin_disable:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
396 *
36439
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
397 * Disable a plugin.
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
398 *
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
399 * This function adds the plugin to a list of plugins to "disable at the next
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
400 * startup" by excluding said plugins from the list of plugins to save. The
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
401 * UI needs to call purple_plugins_save_loaded() after calling this for it
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
402 * to have any effect.
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
403 */
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
404 void purple_plugin_disable(PurplePlugin *plugin);
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
405
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
406 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
407 * purple_plugin_register_type:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
408 * @plugin: The plugin that is registering the type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
409 * @parent: Type from which this type will be derived.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
410 * @name: Name of the new type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
411 * @info: Information to initialize and destroy a type's classes and
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
412 * instances.
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
413 * @flags: Bitwise combination of values that determines the nature
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
414 * (e.g. abstract or not) of the type.
36460
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
415 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
416 * Registers a new dynamic type.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
417 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
418 * Returns: The new GType, or %G_TYPE_INVALID if registration failed.
36460
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
419 */
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
420 GType purple_plugin_register_type(PurplePlugin *plugin, GType parent,
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
421 const gchar *name, const GTypeInfo *info,
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
422 GTypeFlags flags);
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
423
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
424 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
425 * purple_plugin_add_interface:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
426 * @plugin: The plugin that is adding the interface type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
427 * @instance_type: The GType of the instantiable type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
428 * @interface_type: The GType of the interface type.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
429 * @interface_info: Information used to manage the interface type.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
430 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
431 * Adds a dynamic interface type to an instantiable type.
36460
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
432 */
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
433 void purple_plugin_add_interface(PurplePlugin *plugin, GType instance_type,
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
434 GType interface_type,
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
435 const GInterfaceInfo *interface_info);
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
436
8c939ea45957 Added purple_plugin_register_type() and purple_plugin_add_interface()
Ankit Vani <a@nevitus.org>
parents: 36458
diff changeset
437 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
438 * purple_plugin_is_internal:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
439 * @plugin: The plugin.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
440 *
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
441 * Returns whether a plugin is an internal plugin. Internal plugins provide
36473
96218ce54785 Mention that internal plugins must not be shown in plugin lists
Ankit Vani <a@nevitus.org>
parents: 36470
diff changeset
442 * required additional functionality to the libpurple core. These plugins must
96218ce54785 Mention that internal plugins must not be shown in plugin lists
Ankit Vani <a@nevitus.org>
parents: 36470
diff changeset
443 * not be shown in plugin lists. Examples of such plugins are in-tree protocol
96218ce54785 Mention that internal plugins must not be shown in plugin lists
Ankit Vani <a@nevitus.org>
parents: 36470
diff changeset
444 * plugins, loaders etc.
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
445 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
446 * Returns: %TRUE if the plugin is an internal plugin, %FALSE otherwise.
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
447 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
448 gboolean purple_plugin_is_internal(PurplePlugin *plugin);
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
449
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
450 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
451 * purple_plugin_get_dependent_plugins:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
452 * @plugin: The plugin whose dependent plugins are returned.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
453 *
36439
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
454 * Returns a list of plugins that depend on a particular plugin.
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
455 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
456 * Returns: (element-type PurplePlugin) (transfer none): The list of a plugins that depend on the specified
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
457 * plugin.
36439
7f8921ef1bfc Moved PurplePluginInfo's get_actions(), is_loadable(), get_error(), get_dependent_plugins() API to PurplePlugin
Ankit Vani <a@nevitus.org>
parents: 36437
diff changeset
458 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
459 GSList *purple_plugin_get_dependent_plugins(PurplePlugin *plugin);
36397
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
460
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
461 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
462 /* PluginInfo API */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 /**************************************************************************/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
465 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
466 * purple_plugin_info_get_type:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
467 *
37071
3ebf3bb2d317 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35462 37060
diff changeset
468 * Returns: The #GType for the #PurplePluginInfo object.
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
469 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
470 GType purple_plugin_info_get_type(void);
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
471
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
472 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
473 * purple_plugin_info_new:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
474 * @first_property: The first property name
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
475 * @...: The value of the first property, followed optionally by more
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
476 * name/value pairs, followed by %NULL
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
477 *
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
478 * Creates a new #PurplePluginInfo instance to be returned from
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
479 * #plugin_query of a plugin, using the provided name/value pairs.
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
480 *
37047
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
481 * All properties except <literal>"id"</literal> and
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
482 * <literal>"purple-abi"</literal> are optional.
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
483 *
37047
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
484 * Valid property names are:
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
485 * <informaltable frame='none'>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
486 * <tgroup cols='2'><tbody>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
487 * <row><entry><literal>"id"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
488 * <entry>(string) The ID of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
489 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
490 * <row><entry><literal>"abi-version"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
491 * <entry>(<type>guint32</type>) The ABI version required by the
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
492 * plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
493 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
494 * <row><entry><literal>"name"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
495 * <entry>(string) The translated name of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
496 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
497 * <row><entry><literal>"version"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
498 * <entry>(string) Version of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
499 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
500 * <row><entry><literal>"category"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
501 * <entry>(string) Primary category of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
502 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
503 * <row><entry><literal>"summary"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
504 * <entry>(string) Brief summary of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
505 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
506 * <row><entry><literal>"description"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
507 * <entry>(string) Full description of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
508 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
509 * <row><entry><literal>"authors"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
510 * <entry>(<type>const gchar * const *</type>) A %NULL-terminated list of
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
511 * plugin authors. format: First Last &lt;user\@domain.com&gt;</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
512 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
513 * <row><entry><literal>"website"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
514 * <entry>(string) Website of the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
515 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
516 * <row><entry><literal>"icon"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
517 * <entry>(string) Path to a plugin's icon.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
518 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
519 * <row><entry><literal>"license-id"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
520 * <entry>(string) Short name of the plugin's license. This should
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
521 * either be an identifier of the license from
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37085
diff changeset
522 * <ulink url="http://dep.debian.net/deps/dep5/#license-specification">
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37085
diff changeset
523 * DEP5</ulink> or "Other" for custom licenses.</entry>
37047
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
524 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
525 * <row><entry><literal>"license-text"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
526 * <entry>(string) The text of the plugin's license, if unlisted on
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
527 * DEP5.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
528 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
529 * <row><entry><literal>"license-url"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
530 * <entry>(string) The plugin's license URL, if unlisted on DEP5.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
531 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
532 * <row><entry><literal>"dependencies"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
533 * <entry>(<type>const gchar * const *</type>) A %NULL-terminated list of
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
534 * plugin IDs required by the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
535 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
536 * <row><entry><literal>"actions-cb"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
537 * <entry>(#PurplePluginActionsCb) Callback that returns a list of
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
538 * actions the plugin can perform.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
539 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
540 * <row><entry><literal>"extra-cb"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
541 * <entry>(#PurplePluginExtraCb) Callback that returns a newly
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
542 * allocated string denoting extra information about a plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
543 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
544 * <row><entry><literal>"pref-frame-cb"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
545 * <entry>(#PurplePluginPrefFrameCb) Callback that returns a
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
546 * preferences frame for the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
547 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
548 * <row><entry><literal>"pref-request-cb"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
549 * <entry>(#PurplePluginPrefRequestCb) Callback that returns a
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
550 * preferences request handle for the plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
551 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
552 * <row><entry><literal>"flags"</literal></entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
553 * <entry>(#PurplePluginInfoFlags) The flags for a plugin.</entry>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
554 * </row>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
555 * </tbody></tgroup>
3ec5ce6a6494 Show list of plugin info properties as a table
Ankit Vani <a@nevitus.org>
parents: 37042
diff changeset
556 * </informaltable>
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
557 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
558 * See #PURPLE_PLUGIN_ABI_VERSION,
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
559 * <link linkend="chapter-plugin-ids">Plugin IDs</link>.
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
560 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
561 * Returns: A new #PurplePluginInfo instance.
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
562 */
36565
8ca8acc22763 Added G_GNUC_NULL_TERMINATED to [purple,finch,pidgin]_plugin_info_new() declarations
Ankit Vani <a@nevitus.org>
parents: 36545
diff changeset
563 PurplePluginInfo *purple_plugin_info_new(const char *first_property, ...)
8ca8acc22763 Added G_GNUC_NULL_TERMINATED to [purple,finch,pidgin]_plugin_info_new() declarations
Ankit Vani <a@nevitus.org>
parents: 36545
diff changeset
564 G_GNUC_NULL_TERMINATED;
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
565
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36441
diff changeset
566 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
567 * purple_plugin_info_get_actions_cb:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
568 * @info: The plugin info to get the callback from.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
569 *
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
570 * Returns the callback that retrieves the list of actions a plugin can perform
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
571 * at that moment.
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
572 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
573 * Returns: The callback that returns a list of #PurplePluginAction
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
574 * instances corresponding to the actions a plugin can perform.
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
575 */
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
576 PurplePluginActionsCb
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
577 purple_plugin_info_get_actions_cb(PurplePluginInfo *info);
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
578
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
579 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
580 * purple_plugin_info_get_extra_cb:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
581 * @info: The plugin info to get extra information from.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
582 *
36976
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
583 * Returns a callback that gives extra information about a plugin. You must
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
584 * free the string returned by this callback.
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
585 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
586 * Returns: The callback that returns extra information about a plugin.
36976
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
587 */
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
588 PurplePluginExtraCb
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
589 purple_plugin_info_get_extra_cb(PurplePluginInfo *info);
36976
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
590
46c2822b7c58 Added the "extra-cb" property for plugins.
Ankit Vani <a@nevitus.org>
parents: 36944
diff changeset
591 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
592 * purple_plugin_info_get_pref_frame_cb:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
593 * @info: The plugin info to get the callback from.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
594 *
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
595 * Returns the callback that retrieves the preferences frame for a plugin, set
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
596 * via the "pref-frame-cb" property of the plugin info.
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
597 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
598 * Returns: The callback that returns the preferences frame.
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
599 */
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
600 PurplePluginPrefFrameCb
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
601 purple_plugin_info_get_pref_frame_cb(PurplePluginInfo *info);
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
602
36515
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
603 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
604 * purple_plugin_info_get_pref_request_cb:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
605 * @info: The plugin info to get the callback from.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
606 *
36929
eed15b8d51a1 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 35045 36926
diff changeset
607 * Returns the callback that retrieves the preferences request handle for a
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
608 * plugin, set via the "pref-request-cb" property of the plugin info.
36929
eed15b8d51a1 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 35045 36926
diff changeset
609 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
610 * Returns: The callback that returns the preferences request handle.
36929
eed15b8d51a1 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 35045 36926
diff changeset
611 */
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
612 PurplePluginPrefRequestCb
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
613 purple_plugin_info_get_pref_request_cb(PurplePluginInfo *info);
36929
eed15b8d51a1 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 35045 36926
diff changeset
614
eed15b8d51a1 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 35045 36926
diff changeset
615 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
616 * purple_plugin_info_get_flags:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
617 * @info: The plugin's info instance.
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
618 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
619 * Returns the plugin's flags.
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
620 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
621 * Returns: The flags of the plugin.
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
622 */
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
623 PurplePluginInfoFlags
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
624 purple_plugin_info_get_flags(PurplePluginInfo *info);
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
625
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
626 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
627 * purple_plugin_info_get_error:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
628 * @info: The plugin info.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
629 *
36515
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
630 * Returns an error in the plugin info that would prevent the plugin from being
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
631 * loaded.
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
632 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
633 * Returns: The plugin info error, or %NULL.
36515
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
634 */
39380
3088866c22f4 libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38745
diff changeset
635 const gchar *purple_plugin_info_get_error(PurplePluginInfo *info);
36515
28631d5a44f5 Added purple_plugin_info_get_error()
Ankit Vani <a@nevitus.org>
parents: 36511
diff changeset
636
36926
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
637 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
638 * purple_plugin_info_set_ui_data:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
639 * @info: The plugin's info instance.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
640 * @ui_data: A pointer to associate with this object.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
641 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
642 * Set the UI data associated with a plugin.
11772
0124b31e896a [gaim-migrate @ 14063]
Gary Kramlich <grim@reaperworld.com>
parents: 10759
diff changeset
643 */
36926
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
644 void purple_plugin_info_set_ui_data(PurplePluginInfo *info, gpointer ui_data);
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
645
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
646 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
647 * purple_plugin_info_get_ui_data:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
648 * @info: The plugin's info instance.
36926
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
649 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
650 * Returns the UI data associated with a plugin.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
651 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
652 * Returns: The UI data associated with this plugin. This is a
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
653 * convenience field provided to the UIs--it is not
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
654 * used by the libpurple core.
36926
d2c0c68a9816 Merged soc.2013.gobjectification branch.
Ankit Vani <a@nevitus.org>
parents: 35037 36899
diff changeset
655 */
39837
4cd31f854f9a Remove extra const in purple_plugin_info_get_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39835
diff changeset
656 gpointer purple_plugin_info_get_ui_data(PurplePluginInfo *info);
11772
0124b31e896a [gaim-migrate @ 14063]
Gary Kramlich <grim@reaperworld.com>
parents: 10759
diff changeset
657
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
658 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
659 /* PluginAction API */
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
660 /**************************************************************************/
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
661
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
662 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
663 * purple_plugin_action_get_type:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
664 *
37071
3ebf3bb2d317 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35462 37060
diff changeset
665 * Returns: The #GType for the #PurplePluginAction boxed structure.
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
666 */
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
667 GType purple_plugin_action_get_type(void);
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
668
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
669 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
670 * purple_plugin_action_new:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
671 * @label: The description of the action to show to the user.
37132
f4740b6e7525 Add (scope) annotation to callback parameters in plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37131
diff changeset
672 * @callback: (scope call): The callback to call when the user selects this
f4740b6e7525 Add (scope) annotation to callback parameters in plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37131
diff changeset
673 * action.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
674 *
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
675 * Allocates and returns a new PurplePluginAction. Use this to add actions in a
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
676 * list in the "actions-cb" callback for your plugin.
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
677 */
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
678 PurplePluginAction *purple_plugin_action_new(const char* label,
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
679 PurplePluginActionCb callback);
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
680
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
681 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
682 * purple_plugin_action_free:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
683 * @action: The PurplePluginAction to free.
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
684 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
685 * Frees a PurplePluginAction
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
686 */
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
687 void purple_plugin_action_free(PurplePluginAction *action);
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36486
diff changeset
688
36386
d402ca995746 Added a boxed type PurplePluginAction with purple_plugin_actions_add() to add an action to a plugin.
Ankit Vani <a@nevitus.org>
parents: 36377
diff changeset
689 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
690 /* Plugins API */
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
691 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
692
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
693 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
694 * purple_plugins_find_all:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
695 *
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
696 * Returns a list of all plugins, whether loaded or not.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
697 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
698 * Returns: (element-type PurplePlugin) (transfer full): A list of all plugins.
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
699 * The list is owned by the caller, and must be
36461
e769bd450874 Add a note in the documentation for purple_plugins_find_all() that the list is owned by caller
Ankit Vani <a@nevitus.org>
parents: 36460
diff changeset
700 * g_list_free()d to avoid leaking the nodes.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
701 */
36400
2ccd829171ec Renamed purple_plugins_get_all() to purple_plugins_find_all() since the list is generated.
Ankit Vani <a@nevitus.org>
parents: 36399
diff changeset
702 GList *purple_plugins_find_all(void);
2ccd829171ec Renamed purple_plugins_get_all() to purple_plugins_find_all() since the list is generated.
Ankit Vani <a@nevitus.org>
parents: 36399
diff changeset
703
2ccd829171ec Renamed purple_plugins_get_all() to purple_plugins_find_all() since the list is generated.
Ankit Vani <a@nevitus.org>
parents: 36399
diff changeset
704 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
705 * purple_plugins_get_loaded:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
706 *
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
707 * Returns a list of all loaded plugins.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
708 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
709 * Returns: (element-type PurplePlugin) (transfer none): A list of all loaded plugins.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
710 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
711 GList *purple_plugins_get_loaded(void);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
712
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
713 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
714 * purple_plugins_add_search_path:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
715 * @path: The new search path.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
716 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
717 * Add a new directory to search for plugins
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
718 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
719 void purple_plugins_add_search_path(const gchar *path);
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
720
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
721 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
722 * purple_plugins_refresh:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
723 *
36463
b1ce7f2998e4 Added purple_plugin_loads_on_query()
Ankit Vani <a@nevitus.org>
parents: 36461
diff changeset
724 * Forces a refresh of all plugins found in the search paths, and loads plugins
36810
f16708ed084b Fixed documentation regarding AUTO_LOAD flag
Ankit Vani <a@nevitus.org>
parents: 36776
diff changeset
725 * that are to be auto-loaded.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
726 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
727 * See purple_plugins_add_search_path().
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
728 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
729 void purple_plugins_refresh(void);
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
730
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
731 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
732 * purple_plugins_find_plugin:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
733 * @id: The plugin ID.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
734 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
735 * Finds a plugin with the specified plugin ID.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
736 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
737 * Returns: (transfer none): The plugin if found, or %NULL if not found.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
738 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
739 PurplePlugin *purple_plugins_find_plugin(const gchar *id);
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
740
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
741 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
742 * purple_plugins_find_by_filename:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
743 * @filename: The plugin filename.
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
744 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
745 * Finds a plugin with the specified filename (filename with a path).
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
746 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
747 * Returns: (transfer none): The plugin if found, or %NULL if not found.
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
748 */
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
749 PurplePlugin *purple_plugins_find_by_filename(const char *filename);
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
750
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
751 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
752 * purple_plugins_save_loaded:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
753 * @key: The preference key to save the list of plugins to.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
754 *
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
755 * Saves the list of loaded plugins to the specified preference key.
36810
f16708ed084b Fixed documentation regarding AUTO_LOAD flag
Ankit Vani <a@nevitus.org>
parents: 36776
diff changeset
756 * Plugins that are set to auto-load are not saved.
36377
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
757 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
758 void purple_plugins_save_loaded(const char *key);
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
759
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
760 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
761 * purple_plugins_load_saved:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
762 * @key: The preference key containing the list of plugins.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
763 *
36377
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
764 * Attempts to load all the plugins in the specified preference key
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
765 * that were loaded when purple last quit.
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
766 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
767 void purple_plugins_load_saved(const char *key);
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
768
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
769 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
770 /* Plugins Subsystem API */
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
771 /**************************************************************************/
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
772
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
773 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
774 * purple_plugins_get_handle:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
775 *
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
776 * Returns the plugin subsystem handle.
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
777 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
778 * Returns: (transfer none): The plugin sybsystem handle.
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
779 */
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
780 void *purple_plugins_get_handle(void);
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
781
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
782 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
783 * purple_plugins_init:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
784 *
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
785 * Initializes the plugin subsystem
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
786 */
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
787 void purple_plugins_init(void);
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
788
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
789 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
790 * purple_plugins_uninit:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
791 *
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
792 * Uninitializes the plugin subsystem
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
793 */
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
794 void purple_plugins_uninit(void);
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 36364
diff changeset
795
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
796 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
797
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
798 #endif /* PURPLE_PLUGINS_H */

mercurial