pidgin/gtkplugin.h

Fri, 17 Jan 2014 18:22:02 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 17 Jan 2014 18:22:02 +0530
branch
soc.2013.gobjectification.plugins
changeset 36981
bc6040e3f9c8
parent 36935
5384600e613c
child 37017
8e2b68c79fa1
permissions
-rw-r--r--

Revert pref renames

5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file gtkplugin.h GTK+ Plugin API
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 15931
diff changeset
3 * @ingroup pidgin
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* pidgin
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
8 * 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
9 * 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
10 * source distribution.
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15577
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: 16749
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 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
26 #ifndef _PIDGINPLUGIN_H_
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
27 #define _PIDGINPLUGIN_H_
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
29 #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
30 #include "plugins.h"
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
32 #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
33 #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
34 #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
35 #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
36 #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
37 #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
38
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
39 /** @copydoc _PidginPluginInfo */
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
40 typedef struct _PidginPluginInfo PidginPluginInfo;
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
41 /** @copydoc _PidginPluginInfoClass */
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 /**
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
47 * Extends #PurplePluginInfo to hold UI information for pidgin.
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 */
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
49 struct _PidginPluginInfo {
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
50 PurplePluginInfo parent;
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
51 };
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
53 /**
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
54 * PidginPluginInfoClass:
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 * 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
57 */
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
58 struct _PidginPluginInfoClass {
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
59 PurplePluginInfoClass parent_class;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60
35024
eb3afb7643ce Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
61 /*< 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
62 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
63 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
64 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
65 void (*_pidgin_reserved4)(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67
36406
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
68 G_BEGIN_DECLS
5205
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 /**
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
71 * Returns the GType for the PidginPluginInfo object.
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
72 */
8fba0d44840d Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
73 GType pidgin_plugin_info_get_type(void);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 /**
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
76 * Creates a new #PidginPluginInfo instance to be returned from
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
77 * gplugin_plugin_query() of a pidgin plugin, using the provided name/value
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
78 * pairs.
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
79 *
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
80 * See purple_plugin_info_new() for a list of available property names.
36935
5384600e613c Made finch and pidgin pref property names shorter: "gnt-pref-frame-cb" and "gtk-config-frame-cb"
Ankit Vani <a@nevitus.org>
parents: 36934
diff changeset
81 * Additionally, you can provide the property "gtk-config-frame-cb",
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
82 * which should be a callback that returns a GtkWidget for the plugin's
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
83 * configuration (see PidginPluginConfigFrameCb).
36446
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
84 *
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
85 * @param first_property The first property name
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
86 * @param ... The value of the first property, followed optionally by more
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
87 * name/value pairs, followed by @c NULL
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 * @return A new #PidginPluginInfo instance.
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
90 *
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
91 * @see purple_plugin_info_new()
e75794a5a7f0 Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents: 36431
diff changeset
92 */
36565
8ca8acc22763 Added G_GNUC_NULL_TERMINATED to [purple,finch,pidgin]_plugin_info_new() declarations
Ankit Vani <a@nevitus.org>
parents: 36479
diff changeset
93 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
94 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
95
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 /**
5981
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
97 * Saves all loaded plugins.
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
98 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
99 void pidgin_plugins_save(void);
5981
c91ece01ad12 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
100
11740
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
101 /**
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
102 * Shows the Plugins dialog
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
103 */
20705
96f7b6c6ec4b Doing plugin dialog
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
104 void pidgin_plugin_dialog_show(void);
11740
2b605228ec11 [gaim-migrate @ 14031]
Sean Egan <seanegan@pidgin.im>
parents: 10759
diff changeset
105
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
106 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
107
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
108 #endif /* _PIDGINPLUGIN_H_ */

mercurial