libpurple/plugins.h

Fri, 20 Oct 2023 02:10:54 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 20 Oct 2023 02:10:54 -0500
changeset 42376
c6aa66fec38a
parent 41681
52dbe7ad39ce
child 42391
090b03385984
permissions
-rw-r--r--

Prefix version.h with purple

And split constants into a separate file as in hasl.

Testing Done:
Compiled.

Reviewed at https://reviews.imfreedom.org/r/2680/

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
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40188
diff changeset
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40188
diff changeset
23 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40188
diff changeset
24 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40188
diff changeset
25
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
26 #ifndef PURPLE_PLUGINS_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
27 #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
28
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
29 #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
30 #include <gplugin-native.h>
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
36509
86e882c3cfdf Refactored libpurple according to the changes
Ankit Vani <a@nevitus.org>
parents: 36508
diff changeset
32 #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
33
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
34 #define PURPLE_TYPE_PLUGIN GPLUGIN_TYPE_PLUGIN
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
35 #define PURPLE_PLUGIN(obj) GPLUGIN_PLUGIN(obj)
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
36 #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
37 #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
38
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
39 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
40 * PurplePlugin:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
41 *
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
42 * Represents a plugin handle.
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
43 * This type is an alias for GPluginPlugin.
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
44 */
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
45 typedef GPluginPlugin PurplePlugin;
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
46
39419
e8e189c88b13 libpurple: Port to new, refactored API of GPlugin 0.28
Mike Ruprecht <cmaiku@gmail.com>
parents: 39411
diff changeset
47 typedef GPluginPluginInterface PurplePluginInterface;
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
48
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40945
diff changeset
49 #include "purpleplugininfo.h"
8749
fb487e9e101a [gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents: 8735
diff changeset
50
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
51 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
52
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
54 /* Plugin API */
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
55 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
56
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
57 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
58 * purple_plugin_load:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
59 * @plugin: The plugin to load.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
60 * @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
61 * 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
62 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
63 * 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
64 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
65 * Also see purple_plugin_unload().
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
66 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
67 * 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
68 */
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
69 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
70
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
71 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
72 * purple_plugin_unload:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
73 * @plugin: The plugin handle.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
74 * @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
75 * 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
76 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
77 * 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
78 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
79 * Also see purple_plugin_load().
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
80 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
81 * 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
82 */
36508
88400e054286 Return a GError if load or unload fails
Ankit Vani <a@nevitus.org>
parents: 36505
diff changeset
83 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
84
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
85 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
86 * 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
87 * @plugin: The plugin.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
88 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
89 * 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
90 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
91 * 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
92 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
93 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
94
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
95 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
96 * purple_plugin_get_info:
37084
5cf27e3320e1 Fix some gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37076
diff changeset
97 * @plugin: The plugin.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
98 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
99 * Returns a plugin's #PurplePluginInfo instance.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
100 *
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38016
diff changeset
101 * 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
102 * 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
103 * 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
104 * 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
105 * exist as long as the plugin exists.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
106 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
107 PurplePluginInfo *purple_plugin_get_info(PurplePlugin *plugin);
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
108
36396
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
109 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
110 * purple_plugin_disable:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
111 *
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
112 * 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
113 *
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
114 * 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
115 * 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
116 * 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
117 * 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
118 */
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
119 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
120
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
121 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
122 * 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
123 * @plugin: The plugin.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
124 *
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
125 * 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
126 * 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
127 * 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
128 * 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
129 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
130 * 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
131 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
132 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
133
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
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 * 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
136 * @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
137 *
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
138 * 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
139 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
140 * 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
141 * 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
142 */
39420
92213bd9538b plugins: Drop consts from arguments to mirror new GPlugin 0.28 API
Mike Ruprecht <cmaiku@gmail.com>
parents: 39419
diff changeset
143 GSList *purple_plugin_get_dependent_plugins(PurplePlugin *plugin);
36397
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
144
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
145 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
146 /* Plugins API */
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
147 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
148
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
149 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
150 * 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
151 *
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
152 * 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
153 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
154 * 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
155 * 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
156 * 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
157 */
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
158 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
159
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
160 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
161 * 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
162 *
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
163 * Returns a list of all loaded plugins.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
164 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
165 * 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
166 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
167 GList *purple_plugins_get_loaded(void);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
168
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
169 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
170 * 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
171 * @path: The new search path.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
172 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
173 * Add a new directory to search for plugins
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
174 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
175 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
176
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
177 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
178 * purple_plugins_refresh:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
179 *
36463
b1ce7f2998e4 Added purple_plugin_loads_on_query()
Ankit Vani <a@nevitus.org>
parents: 36461
diff changeset
180 * 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
181 * that are to be auto-loaded.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
182 *
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
183 * See purple_plugins_add_search_path().
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
184 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
185 void purple_plugins_refresh(void);
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
186
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
187 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
188 * 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
189 * @id: The plugin ID.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
190 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
191 * Finds a plugin with the specified plugin ID.
36436
28bd31dc7287 Added documentation for all functions
Ankit Vani <a@nevitus.org>
parents: 36435
diff changeset
192 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
193 * 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
194 */
36429
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
195 PurplePlugin *purple_plugins_find_plugin(const gchar *id);
5c2bc13927b0 Added wrappers for some gplugin functions
Ankit Vani <a@nevitus.org>
parents: 36428
diff changeset
196
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
197 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
198 * 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
199 * @filename: The plugin filename.
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
200 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
201 * 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
202 *
37402
404282320cf8 Improve GIntrospection annotations for Plugins API
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37146
diff changeset
203 * 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
204 */
36428
ba8ead8477cb Added PurplePlugin as an alias for GPluginPlugin
Ankit Vani <a@nevitus.org>
parents: 36412
diff changeset
205 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
206
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
207 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
208 * 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
209 * @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
210 *
36467
52aa83c47311 Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents: 36463
diff changeset
211 * 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
212 * 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
213 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
214 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
215
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
216 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
217 * 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
218 * @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
219 *
36377
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
220 * 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
221 * 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
222 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
223 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
224
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
225 /**************************************************************************/
37076
38040771ae12 Remove @name from plugins.h
Ankit Vani <a@nevitus.org>
parents: 37075
diff changeset
226 /* 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
227 /**************************************************************************/
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
228
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
229 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
230 * purple_plugins_init:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
231 *
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
232 * 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
233 */
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
234 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
235
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
236 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
237 * purple_plugins_uninit:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
238 *
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
239 * 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
240 */
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
241 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
242
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
243 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
244
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39420
diff changeset
245 #endif /* PURPLE_PLUGINS_H */

mercurial