pidgin/gtkplugin.h

Fri, 07 Feb 2014 21:49:22 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 07 Feb 2014 21:49:22 +0530
branch
soc.2013.gobjectification.plugins
changeset 37094
84873ce721dc
parent 37091
fb174197abb2
parent 35487
494f09f7f331
child 38358
30ba44276e74
permissions
-rw-r--r--

Merge gtkdoc-conversion

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* pidgin
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
3 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 5981
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: 5981
diff changeset
5 * source distribution.
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15577
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: 16749
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: 35451
diff changeset
21
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35451
diff changeset
22 #ifndef _PIDGINPLUGIN_H_
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35451
diff changeset
23 #define _PIDGINPLUGIN_H_
35451
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
24 /**
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
25 * SECTION:gtkplugin
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
26 * @section_id: pidgin-gtkplugin
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
27 * @short_description: <filename>gtkplugin.h</filename>
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
28 * @title: Plugin API
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
29 */
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35405
diff changeset
30
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
31 #include "pidgin.h"
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
32 #include "plugins.h"
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
34 #define PIDGIN_TYPE_PLUGIN_INFO (pidgin_plugin_info_get_type())
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
35 #define PIDGIN_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfo))
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
36 #define PIDGIN_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfoClass))
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
37 #define PIDGIN_IS_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PIDGIN_TYPE_PLUGIN_INFO))
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
38 #define PIDGIN_IS_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_PLUGIN_INFO))
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
39 #define PIDGIN_PLUGIN_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfoClass))
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
40
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
41 typedef struct _PidginPluginInfo PidginPluginInfo;
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
42 typedef struct _PidginPluginInfoClass PidginPluginInfoClass;
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
43
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
44 typedef GtkWidget *(*PidginPluginConfigFrameCb)(PurplePlugin *);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 /**
37048
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
47 * PidginPluginInfo:
35405
d3f9e6dad44b Convert docs from doxygen to gtk-doc format for UI headers that change in .plugins
Ankit Vani <a@nevitus.org>
parents: 35045
diff changeset
48 *
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
49 * Extends #PurplePluginInfo to hold UI information for pidgin.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 */
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
51 struct _PidginPluginInfo {
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
52 PurplePluginInfo parent;
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
53 };
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
55 /**
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
56 * PidginPluginInfoClass:
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
57 *
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
58 * The base class for all #PidginPluginInfo's.
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
59 */
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
60 struct _PidginPluginInfoClass {
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
61 PurplePluginInfoClass parent_class;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62
35024
eb3afb7643ce Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
63 /*< private >*/
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16254
diff changeset
64 void (*_pidgin_reserved1)(void);
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16254
diff changeset
65 void (*_pidgin_reserved2)(void);
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16254
diff changeset
66 void (*_pidgin_reserved3)(void);
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16254
diff changeset
67 void (*_pidgin_reserved4)(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
70 G_BEGIN_DECLS
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
72 /**
37048
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
73 * pidgin_plugin_info_get_type:
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
74 *
37068
91e58d53fea9 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37065
diff changeset
75 * Returns: The #GType for the #PidginPluginInfo object.
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
76 */
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
77 GType pidgin_plugin_info_get_type(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 /**
37048
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
80 * pidgin_plugin_info_new:
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
81 * @first_property: The first property name
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
82 * @...: The value of the first property, followed optionally by more
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
83 * name/value pairs, followed by %NULL
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
84 *
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
85 * Creates a new #PidginPluginInfo instance to be returned from
37068
91e58d53fea9 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37065
diff changeset
86 * #plugin_query of a pidgin plugin, using the provided name/value
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
87 * pairs.
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
88 *
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
89 * See purple_plugin_info_new() for a list of available property names.
37048
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
90 * Additionally, you can provide the property
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
91 * <literal>"gtk-config-frame-cb"</literal>, which should be a callback that
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
92 * returns a #GtkWidget for the plugin's configuration
6a395246c742 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37034 35405
diff changeset
93 * (see #PidginPluginConfigFrameCb).
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
94 *
37091
fb174197abb2 Remove @see in new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37068
diff changeset
95 * See purple_plugin_info_new().
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
96 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
97 * Returns: A new #PidginPluginInfo instance.
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
98 */
36565
8ca8acc22763 Added G_GNUC_NULL_TERMINATED to [purple,finch,pidgin]_plugin_info_new() declarations
Ankit Vani <a@nevitus.org>
parents: 36479
diff changeset
99 PidginPluginInfo *pidgin_plugin_info_new(const char *first_property, ...)
8ca8acc22763 Added G_GNUC_NULL_TERMINATED to [purple,finch,pidgin]_plugin_info_new() declarations
Ankit Vani <a@nevitus.org>
parents: 36479
diff changeset
100 G_GNUC_NULL_TERMINATED;
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21653
diff changeset
101
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 /**
35405
d3f9e6dad44b Convert docs from doxygen to gtk-doc format for UI headers that change in .plugins
Ankit Vani <a@nevitus.org>
parents: 35045
diff changeset
103 * pidgin_plugins_save:
d3f9e6dad44b Convert docs from doxygen to gtk-doc format for UI headers that change in .plugins
Ankit Vani <a@nevitus.org>
parents: 35045
diff changeset
104 *
5981
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
105 * Saves all loaded plugins.
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
106 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
107 void pidgin_plugins_save(void);
5981
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
108
11740
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
109 /**
35405
d3f9e6dad44b Convert docs from doxygen to gtk-doc format for UI headers that change in .plugins
Ankit Vani <a@nevitus.org>
parents: 35045
diff changeset
110 * pidgin_plugin_dialog_show:
d3f9e6dad44b Convert docs from doxygen to gtk-doc format for UI headers that change in .plugins
Ankit Vani <a@nevitus.org>
parents: 35045
diff changeset
111 *
11740
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
112 * Shows the Plugins dialog
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
113 */
20705
96f7b6c6ec4b Doing plugin dialog
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
114 void pidgin_plugin_dialog_show(void);
11740
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
115
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21653
diff changeset
116 G_END_DECLS
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 21653
diff changeset
117
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
118 #endif /* _PIDGINPLUGIN_H_ */

mercurial