libpurple/purpleplugininfo.h

Tue, 12 Mar 2024 02:25:03 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 12 Mar 2024 02:25:03 -0500
changeset 42640
5365cc421c7a
parent 42615
2f3308794a8f
child 43176
04f562dc0ff2
permissions
-rw-r--r--

Fix leaks of plugin actions

All action groups and action menus leak because the plugin info is created, directly returned, and nothing owns them any more.
Instead, steal the reference in the plugin info setters, so that they are owned by it.

Then clean up a bunch of additional refs that aren't needed.

Testing Done:
Ran in valgrind, and no longer saw leaks from `notification-sound.c`.
Also enabled and disabled that plugin and saw no errors.

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

40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
7 * source distribution.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
12 * any later version.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
17 * more details.
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
18 *
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
19 * You should have received a copy of the GNU General Public License along with
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42391
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <purple.h> may be included directly"
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PURPLE_PLUGIN_INFO_H
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PURPLE_PLUGIN_INFO_H
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <glib.h>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
32 #include <gio/gio.h>
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
33
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 #include <gplugin.h>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 #include <gplugin-native.h>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
37 #include "purpleversion.h"
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
38
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 #define PURPLE_TYPE_PLUGIN_INFO (purple_plugin_info_get_type())
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 /**
41205
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
42 * PurplePluginInfo:
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
43 *
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
44 * #PurplePluginInfo is a #GPluginPluginInfo subclass that adds additional
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
45 * libpurple specific properties.
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
46 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
47 * Since: 3.0
41205
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
48 */
c5513eb740aa Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[o-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
49
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
50 PURPLE_AVAILABLE_IN_3_0
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
51 G_DECLARE_DERIVABLE_TYPE(PurplePluginInfo, purple_plugin_info, PURPLE,
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
52 PLUGIN_INFO, GPluginPluginInfo)
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 #include "plugins.h"
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
56 /**
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
57 * PurplePluginInfoClass:
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
58 *
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
59 * An opaque type representing the class of a #PurplePluginInfo.
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
60 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
61 * Since: 3.0
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
62 */
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 struct _PurplePluginInfoClass {
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 /*< private >*/
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 GPluginPluginInfoClass parent;
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 gpointer reserved[4];
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 };
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 * PurplePluginInfoFlags:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * @PURPLE_PLUGIN_INFO_FLAGS_INTERNAL: Plugin is not shown in UI lists
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 * @PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD: Auto-load the plugin
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 * Flags that can be used to treat plugins differently.
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
76 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
77 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 */
42391
090b03385984 Add Since and symbol visibility to new-in-3.0 things
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42387
diff changeset
79 PURPLE_AVAILABLE_TYPE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 typedef enum /*< flags >*/
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 {
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 PURPLE_PLUGIN_INFO_FLAGS_INTERNAL = 1 << 1,
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD = 1 << 2,
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 } PurplePluginInfoFlags;
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 * PURPLE_PLUGIN_ABI_VERSION:
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
88 * @major: The major version of libpurple to target.
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
89 * @minor: The minor version of libpurple to target.
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
90 *
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
91 * Packs @major and @minor into an integer to be used as an abi version for
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
92 * gplugin.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 * Note: The lower six nibbles represent the ABI version for libpurple, the
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 * rest are required by GPlugin.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 * Returns: An ABI version to set in plugins using major and minor versions.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 #define PURPLE_PLUGIN_ABI_VERSION(major,minor) \
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 (0x01000000 | ((major) << 16) | (minor))
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 * PURPLE_PLUGIN_ABI_MAJOR_VERSION:
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
104 * @abi: The abi version.
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
105 *
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
106 * Extracts the purple major version from @abi.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 * Returns: The major version from an ABI version
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 #define PURPLE_PLUGIN_ABI_MAJOR_VERSION(abi) \
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 ((abi >> 16) & 0xff)
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 * PURPLE_PLUGIN_ABI_MINOR_VERSION:
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
115 * @abi: The abi version.
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
116 *
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
117 * Extracts the purple minor version from @abi.
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 * Returns: The minor version from an ABI version
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 #define PURPLE_PLUGIN_ABI_MINOR_VERSION(abi) \
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 (abi & 0xffff)
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 * PURPLE_ABI_VERSION:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 * A convenience macro that returns an ABI version using PURPLE_MAJOR_VERSION
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 * and PURPLE_MINOR_VERSION
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 #define PURPLE_ABI_VERSION PURPLE_PLUGIN_ABI_VERSION(PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION)
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 G_BEGIN_DECLS
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 * purple_plugin_info_new:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 * @first_property: The first property name
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 * @...: The value of the first property, followed optionally by more
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 * name/value pairs, followed by %NULL
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 * Creates a new #PurplePluginInfo instance to be returned from
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 * #plugin_query of a plugin, using the provided name/value pairs.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 * All properties except <literal>"id"</literal> and
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 * <literal>"purple-abi"</literal> are optional.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 * Valid property names are:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 * <informaltable frame='none'>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 * <tgroup cols='2'><tbody>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 * <row><entry><literal>"id"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 * <entry>(string) The ID of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 * <row><entry><literal>"abi-version"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 * <entry>(<type>guint32</type>) The ABI version required by the
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 * plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 * <row><entry><literal>"name"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 * <entry>(string) The translated name of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 * <row><entry><literal>"version"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 * <entry>(string) Version of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 * <row><entry><literal>"category"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 * <entry>(string) Primary category of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 * <row><entry><literal>"summary"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166 * <entry>(string) Brief summary of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 * <row><entry><literal>"description"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 * <entry>(string) Full description of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 * <row><entry><literal>"authors"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 * <entry>(<type>const gchar * const *</type>) A %NULL-terminated list of
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 * plugin authors. format: First Last &lt;user\@domain.com&gt;</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 * <row><entry><literal>"website"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 * <entry>(string) Website of the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 * <row><entry><literal>"icon"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 * <entry>(string) Path to a plugin's icon.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 * <row><entry><literal>"license-id"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182 * <entry>(string) Short name of the plugin's license. This should
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 * either be an identifier of the license from
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 * <ulink url="http://dep.debian.net/deps/dep5/#license-specification">
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 * DEP5</ulink> or "Other" for custom licenses.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 * <row><entry><literal>"license-text"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188 * <entry>(string) The text of the plugin's license, if unlisted on
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 * DEP5.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
190 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191 * <row><entry><literal>"license-url"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 * <entry>(string) The plugin's license URL, if unlisted on DEP5.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194 * <row><entry><literal>"dependencies"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195 * <entry>(<type>const gchar * const *</type>) A %NULL-terminated list of
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 * plugin IDs required by the plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 * <row><entry><literal>"flags"</literal></entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 * <entry>(#PurplePluginInfoFlags) The flags for a plugin.</entry>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 * </row>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
201 * </tbody></tgroup>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 * </informaltable>
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
203 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204 * See #PURPLE_PLUGIN_ABI_VERSION,
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 * <link linkend="chapter-plugin-ids">Plugin IDs</link>.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
206 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 * Returns: A new #PurplePluginInfo instance.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
209 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
210 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
211 PURPLE_AVAILABLE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
212 GPluginPluginInfo *purple_plugin_info_new(const char *first_property, ...) G_GNUC_NULL_TERMINATED;
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
213
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
214 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
215 * purple_plugin_info_get_flags:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
216 * @info: The plugin's info instance.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
217 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
218 * Returns the plugin's flags.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
219 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
220 * Returns: The flags of the plugin.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
221 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
222 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
223 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
224 PURPLE_AVAILABLE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
225 PurplePluginInfoFlags purple_plugin_info_get_flags(PurplePluginInfo *info);
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
226
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
227 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
228 * purple_plugin_info_get_error:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
229 * @info: The plugin info.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
230 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
231 * Returns an error in the plugin info that would prevent the plugin from being
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
232 * loaded.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
233 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
234 * Returns: The plugin info error, or %NULL.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
235 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
236 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
237 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
238 PURPLE_AVAILABLE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
239 const gchar *purple_plugin_info_get_error(PurplePluginInfo *info);
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
240
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
241 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
242 * purple_plugin_info_get_unloaded:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
243 * @info: The #PurplePluginInfo instance.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
244 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
245 * Gets whether or not the plugin has been unloaded.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
246 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
247 * Returns: %TRUE if the plugin has been unloaded previously, or %FALSE if not.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
248 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
249 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
250 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
251 PURPLE_AVAILABLE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
252 gboolean purple_plugin_info_get_unloaded(PurplePluginInfo *info);
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
253
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
254 /**
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
255 * purple_plugin_info_set_unloaded:
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
256 * @info: The #PurplePluginInfo instance.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
257 * @unloaded: %TRUE to say the plugin has been unloaded.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
258 *
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
259 * Sets the unloaded state of @info to @unloaded.
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
260 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
261 * Since: 3.0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
262 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
263 PURPLE_AVAILABLE_IN_3_0
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
264 void purple_plugin_info_set_unloaded(PurplePluginInfo *info, gboolean unloaded);
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
265
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
266 /**
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
267 * purple_plugin_info_get_action_group:
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
268 * @info: The instance.
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
269 *
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
270 * Gets the [class:Gio.ActionGroup] from @info if one is set.
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
271 *
42640
5365cc421c7a Fix leaks of plugin actions
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42615
diff changeset
272 * Returns: (transfer none): The action group.
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
273 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
274 * Since: 3.0
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
275 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
276 PURPLE_AVAILABLE_IN_3_0
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
277 GActionGroup *purple_plugin_info_get_action_group(PurplePluginInfo *info);
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
278
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
279 /**
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
280 * purple_plugin_info_get_action_menu:
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
281 * @info: The instance.
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
282 *
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
283 * Gets the [class:Gio.MenuModel] from @info if one is set.
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
284 *
42640
5365cc421c7a Fix leaks of plugin actions
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42615
diff changeset
285 * Returns: (transfer none): The menu model.
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
286 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
287 * Since: 3.0
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
288 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42282
diff changeset
289 PURPLE_AVAILABLE_IN_3_0
41414
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
290 GMenuModel *purple_plugin_info_get_action_menu(PurplePluginInfo *info);
b76bc2b4d7cc Convert plugin actions to GMenu and GAction
Gary Kramlich <grim@reaperworld.com>
parents: 41283
diff changeset
291
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
292 G_END_DECLS
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
293
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
294 #endif /* PURPLE_PLUGIN_INFO_H */
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
295

mercurial