Tue, 12 Mar 2024 02:25:03 -0500
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 <user\@domain.com></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 |