libpurple/plugins.h

Mon, 29 Jul 2013 11:52:27 +0530

author
Ankit Vani <a@nevitus.org>
date
Mon, 29 Jul 2013 11:52:27 +0530
branch
soc.2013.gobjectification.plugins
changeset 36367
891eea799578
parent 36364
libpurple/plugin.h@4a5544383bc8
child 36368
0898810f4e9c
permissions
-rw-r--r--

Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.

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
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
6 /* purple
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
8 * 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
9 * 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
10 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 5949
diff changeset
11 *
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * 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
14 * the Free Software Foundation; either version 2 of the License, or
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
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 * This program is distributed in the hope that it will be useful,
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * 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
24 * 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
25 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
26 #ifndef _PURPLE_PLUGIN_H_
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
27 #define _PURPLE_PLUGIN_H_
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
28
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
29 #include <gplugin.h>
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
31 #define PURPLE_TYPE_PLUGIN (purple_plugin_get_type())
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
32 #define PURPLE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PLUGIN, PurplePlugin))
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
33 #define PURPLE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_PLUGIN, PurplePluginClass))
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
34 #define PURPLE_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PLUGIN))
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
35 #define PURPLE_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_PLUGIN))
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
36 #define PURPLE_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_PLUGIN, PurplePluginClass))
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
37
25630
f9fb8da4b5ec Sprinkle some @copydoc directives around to shut up some doxygen whining.
Etan Reisner <deryni@pidgin.im>
parents: 24569
diff changeset
38 /** @copydoc _PurplePlugin */
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
39 typedef struct _PurplePlugin PurplePlugin;
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
40 /** @copydoc _PurplePluginClass */
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
41 typedef struct _PurplePluginClass PurplePluginClass;
8749
fb487e9e101a [gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents: 8735
diff changeset
42
36364
4a5544383bc8 Refactored account to use the initial GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 36357
diff changeset
43 #include "pluginpref.h"
4a5544383bc8 Refactored account to use the initial GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 36357
diff changeset
44
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 /**
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
46 * Represents a plugin that can be loaded/unloaded by libpurple.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 *
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
48 * #PurplePlugin inherits #GPluginPluginImplementation, which holds the
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
49 * low-level details about the plugin in a #GPluginPlugin instance.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 */
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
51 struct _PurplePlugin {
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
52 /*< private >*/
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
53 GPluginPluginImplementation parent;
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
54 };
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
56 /**
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
57 * PurplePluginClass:
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
58 *
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
59 * The base class for all #PurplePlugin's.
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
60 */
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
61 struct _PurplePluginClass {
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
62 /*< private >*/
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
63 GPluginPluginImplementationClass 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
64
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
65 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
66 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
67 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
68 void (*_purple_reserved4)(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
71 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
72
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 /**************************************************************************/
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
74 /** @name Plugin API */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 /**************************************************************************/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 /*@{*/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 /**
36357
1a49a1a9ce18 Started the new GObject plugin API
Ankit Vani <a@nevitus.org>
parents: 34801
diff changeset
79 * Returns the GType for the PurplePlugin object.
34783
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
80 */
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
81 GType purple_plugin_get_type(void);
cefe6df8c6c6 Made PurplePlugin a GBoxed
Ankit Vani <a@nevitus.org>
parents: 34778
diff changeset
82
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 /*@}*/
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84
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
85 /**************************************************************************/
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
86 /** @name Plugins Subsystem API */
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
87 /**************************************************************************/
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
88 /*@{*/
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
89
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
90 /**
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
91 * 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
92 *
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
93 * @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
94 */
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
95 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
96
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
97 /**
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
98 * 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
99 */
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
100 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
101
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
102 /**
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
103 * 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
104 */
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
105 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
106
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
107 /*@}*/
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
108
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
109 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5840
diff changeset
110
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
111 #endif /* _PURPLE_PLUGIN_H_ */

mercurial