libpurple/plugins.h

Fri, 02 Aug 2013 03:12:31 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 02 Aug 2013 03:12:31 +0530
branch
soc.2013.gobjectification.plugins
changeset 36412
b57d4ad74b55
parent 36402
a0d82b6f4081
child 36428
ba8ead8477cb
permissions
-rw-r--r--

Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros

5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
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
2 * @file plugins.h Plugins API
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
36391
dbf2a8af2eb1 Added a reference to signal, id, and i18n docs
Ankit Vani <a@nevitus.org>
parents: 36389
diff changeset
4 * @see @ref plugin-signals
dbf2a8af2eb1 Added a reference to signal, id, and i18n docs
Ankit Vani <a@nevitus.org>
parents: 36389
diff changeset
5 * @see @ref plugin-ids
dbf2a8af2eb1 Added a reference to signal, id, and i18n docs
Ankit Vani <a@nevitus.org>
parents: 36389
diff changeset
6 * @see @ref plugin-i18n
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
7 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
8
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
9 /* purple
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
11 * 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
12 * 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
13 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 5949
diff changeset
14 *
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * This program is free software; you can redistribute it and/or modify
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * 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
17 * the Free Software Foundation; either version 2 of the License, or
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * (at your option) any later version.
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * This program is distributed in the hope that it will be useful,
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * GNU General Public License for more details.
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 * You should have received a copy of the GNU General Public License
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 * 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
27 * 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
28 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
29 #ifndef _PURPLE_PLUGINS_H_
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
30 #define _PURPLE_PLUGINS_H_
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
31
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
32 #include <gplugin.h>
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
36412
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
34 /** Returns an ABI version to set in plugins using major and minor versions */
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
35 #define PURPLE_PLUGIN_ABI_VERSION(major,minor) ((major << 16) + minor)
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
36 /** Returns the major version from an ABI version */
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
37 #define PURPLE_PLUGIN_ABI_MAJOR_VERSION(abi) (abi >> 16)
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
38 /** Returns the minor version from an ABI version */
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
39 #define PURPLE_PLUGIN_ABI_MINOR_VERSION(abi) (abi & 0xFFFF)
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
40
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
41 #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
42 #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
43 #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
44 #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
45 #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
46 #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
47
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
48 /** @copydoc _PurplePluginInfo */
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
49 typedef struct _PurplePluginInfo PurplePluginInfo;
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
50 /** @copydoc _PurplePluginInfoClass */
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
51 typedef struct _PurplePluginInfoClass PurplePluginInfoClass;
8749
fb487e9e101a [gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents: 8735
diff changeset
52
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
53 #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
54
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
55 /** @copydoc _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
56 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
57
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
58 #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
59
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
60 typedef void (*PurplePluginActionCallback)(PurplePluginAction *);
36398
8a349ab2993c Refactored some of gntplugin. Some more plugin API changes are needed for this to build.
Ankit Vani <a@nevitus.org>
parents: 36397
diff changeset
61 typedef PurplePluginPrefFrame *(*PurplePluginPrefFrameCallback)(GPluginPlugin *);
36364
4a5544383bc8 Refactored account to use the initial GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 36357
diff changeset
62
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 /**
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
64 * Holds information about a plugin.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
66 struct _PurplePluginInfo {
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
67 /*< private >*/
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
68 GPluginPluginInfo parent;
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
69 };
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
71 /**
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
72 * PurplePluginInfoClass:
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
73 *
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
74 * The base class for all #PurplePluginInfo's.
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
75 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
76 struct _PurplePluginInfoClass {
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
77 /*< private >*/
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
78 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
79
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
80 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
81 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
82 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
83 void (*_purple_reserved4)(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85
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
86 /**
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
87 * 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
88 * 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
89 */
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
90 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
91 char *label;
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
92 PurplePluginActionCallback callback;
36389
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
93 GPluginPlugin *plugin;
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
94 };
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
95
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
96 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
97
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 /**************************************************************************/
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
99 /** @name Plugin API */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
100 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
101 /*@{*/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
102
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
103 /**
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
104 * Attempts to load a plugin.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
105 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
106 * @param plugin The plugin to load.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
107 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
108 * @return @c TRUE if successful, or @c FALSE otherwise.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
109 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
110 * @see purple_plugin_unload()
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
111 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
112 gboolean purple_plugin_load(GPluginPlugin *plugin);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
113
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
114 /**
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
115 * Unloads the specified plugin.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
116 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
117 * @param plugin The plugin handle.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
118 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
119 * @return @c TRUE if successful, or @c FALSE otherwise.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
120 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
121 * @see purple_plugin_load()
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
122 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
123 gboolean purple_plugin_unload(GPluginPlugin *plugin);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
124
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
125 /**
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
126 * Returns whether or not a plugin is currently loaded.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
127 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
128 * @param plugin The plugin.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
129 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
130 * @return @c TRUE if loaded, or @c FALSE otherwise.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
131 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
132 gboolean purple_plugin_is_loaded(const GPluginPlugin *plugin);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
133
36396
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
134 /**
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
135 * Adds a new action to a plugin.
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
136 *
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
137 * @param plugin The plugin to add the action to.
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
138 * @param label The description of the action to show to the user.
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
139 * @param callback The callback to call when the user selects this action.
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
140 */
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
141 void purple_plugin_add_action(GPluginPlugin *plugin, const char* label,
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
142 PurplePluginActionCallback callback);
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
143
36397
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
144 /**
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
145 * Disable a plugin.
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
146 *
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
147 * This function adds the plugin to a list of plugins to "disable at the next
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
148 * startup" by excluding said plugins from the list of plugins to save. The
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
149 * UI needs to call purple_plugins_save_loaded() after calling this for it
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
150 * to have any effect.
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
151 */
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
152 void purple_plugin_disable(GPluginPlugin *plugin);
4ae45b445bb9 Added purple_plugin_disable()
Ankit Vani <a@nevitus.org>
parents: 36396
diff changeset
153
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
154 /*@}*/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
155
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
156 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
157 /** @name PluginInfo API */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158 /**************************************************************************/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 /*@{*/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 /**
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
162 * Returns the GType for the PurplePluginInfo object.
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
163 */
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
164 GType purple_plugin_info_get_type(void);
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
165
36389
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
166 /**
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
167 * Returns a list of actions that a plugin can perform.
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
168 *
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
169 * @param plugin_info The plugin info to get the actions from.
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
170 *
36392
3389359cdc72 Fixed a doc string
Ankit Vani <a@nevitus.org>
parents: 36391
diff changeset
171 * @constreturn A list of #PurplePluginAction instances corresponding to the
3389359cdc72 Fixed a doc string
Ankit Vani <a@nevitus.org>
parents: 36391
diff changeset
172 * actions a plugin can perform.
36389
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
173 *
36396
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
174 * @see purple_plugin_add_action()
36389
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
175 */
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
176 GList *purple_plugin_info_get_actions(PurplePluginInfo *plugin_info);
8d86658a3b68 Added 'plugin' field to PurplePluginAction. Added purple_plugin_info_get_actions().
Ankit Vani <a@nevitus.org>
parents: 36387
diff changeset
177
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
178 /**
36412
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
179 * Returns whether or not a plugin is loadable.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
180 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
181 * If this returns @c FALSE, the plugin is guaranteed to not
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
182 * be loadable. However, a return value of @c TRUE does not
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
183 * guarantee the plugin is loadable.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
184 * An error is set if the plugin is not loadable.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
185 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
186 * @param plugin_info The plugin info of the plugin.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
187 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
188 * @return @c TRUE if the plugin may be loadable, @c FALSE if the plugin is not
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
189 * loadable.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
190 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
191 * @see purple_plugin_info_get_error()
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
192 */
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
193 gboolean purple_plugin_info_is_loadable(PurplePluginInfo *plugin_info);
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
194
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
195 /**
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
196 * If a plugin is not loadable, this returns the reason.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
197 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
198 * @param plugin_info The plugin info of the plugin.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
199 *
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
200 * @return The reason why the plugin is not loadable.
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
201 */
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
202 gchar *purple_plugin_info_get_error(PurplePluginInfo *plugin_info);
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
203
b57d4ad74b55 Added purple_plugin_info_is_loadable(), UI requirement, error and PURPLE_ABI_VERSION_* macros
Ankit Vani <a@nevitus.org>
parents: 36402
diff changeset
204 /**
36395
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
205 * Sets a callback to be invoked to retrieve the preferences frame for a plugin.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
206 *
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
207 * @param plugin_info The plugin info to set the callback for.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
208 * @param callback The callback that returns the preferences frame.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
209 */
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
210 void purple_plugin_info_set_pref_frame_callback(PurplePluginInfo *plugin_info,
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
211 PurplePluginPrefFrameCallback callback);
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
212
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
213 /**
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
214 * Returns the callback that retrieves the preferences frame for a plugin.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
215 *
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
216 * @param plugin_info The plugin info to get the callback from.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
217 *
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
218 * @return The callback that returns the preferences frame.
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
219 */
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
220 PurplePluginPrefFrameCallback
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
221 purple_plugin_info_get_pref_frame_callback(PurplePluginInfo *plugin_info);
a27e8b7a2938 Added a callback to return preferences frame to plugin info.
Ankit Vani <a@nevitus.org>
parents: 36392
diff changeset
222
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 /*@}*/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224
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
225 /**************************************************************************/
36396
add1d5e2314c Renamed actions_add functions to add_action functions
Ankit Vani <a@nevitus.org>
parents: 36395
diff changeset
226 /** @name 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
227 /**************************************************************************/
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
228 /*@{*/
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
229
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
230 /**
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
231 * Returns the GType for the PurplePluginAction boxed structure.
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
232 */
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
233 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
234
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
235 /*@}*/
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
236
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
237 /**************************************************************************/
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
238 /** @name Plugins API */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
239 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
240 /*@{*/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
241
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
242 /**
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
243 * Returns a list of all plugins, whether loaded or not.
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
244 * Use purple_plugins_free_found_list() to free this list when done with it.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
245 *
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
246 * @return A list of all referenced plugins.
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
247 */
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
248 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
249
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
250 /**
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
251 * Frees a list of referenced plugins by unreferencing them first.
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
252 *
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
253 * @param plugins The list of referenced plugins.
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
254 */
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
255 void purple_plugins_free_found_list(GList *plugins);
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
256
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
257 /**
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
258 * Returns a list of all loaded plugins.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
259 *
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
260 * @constreturn A list of all loaded plugins.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
261 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
262 GList *purple_plugins_get_loaded(void);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
263
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
264 /**
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
265 * Finds a plugin with the specified filename (filename with a path).
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
266 *
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
267 * @param filename The plugin filename.
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
268 *
36402
a0d82b6f4081 Removed referencing of plugin from PurplePluginAction, since it is a part of the plugin.
Ankit Vani <a@nevitus.org>
parents: 36400
diff changeset
269 * @return The referenced plugin if found, or @c NULL if not found.
36399
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
270 */
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
271 GPluginPlugin *purple_plugins_find_by_filename(const char *filename);
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
272
f5d2c9da9ea0 Added purple_plugins_find_by_filename()
Ankit Vani <a@nevitus.org>
parents: 36398
diff changeset
273 /**
36377
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
274 * Saves the list of loaded plugins to the specified preference key
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
275 *
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
276 * @param key The preference key to save the list of plugins to.
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
277 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
278 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
279
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
280 /**
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
281 * 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
282 * 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
283 *
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
284 * @param key The preference key containing the list of plugins.
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
285 */
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
286 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
287
28ec73fbb37d Added purple_plugins_save_loaded() and purple_plugins_load_saved()
Ankit Vani <a@nevitus.org>
parents: 36370
diff changeset
288 /**
36370
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
289 * Unloads all loaded plugins.
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
290 */
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
291 void purple_plugins_unload_all(void);
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
292
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
293 /*@}*/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
294
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
295 /**************************************************************************/
04a6a552bee4 Added the following functions to plugins.[ch]:
Ankit Vani <a@nevitus.org>
parents: 36368
diff changeset
296 /** @name 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
297 /**************************************************************************/
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
298 /*@{*/
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
299
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
300 /**
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
301 * 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
302 *
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
303 * @return The plugin sybsystem 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
304 */
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
305 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
306
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
307 /**
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
308 * 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
309 */
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
310 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
311
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
312 /**
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
313 * 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
314 */
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
315 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
316
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
317 /*@}*/
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
318
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
319 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
320
36368
0898810f4e9c Removed PurplePlugin and added PurplePluginInfo, which inherits GPluginPluginInfo
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
321 #endif /* _PURPLE_PLUGINS_H_ */

mercurial