Tue, 02 Oct 2018 16:23:35 -0500
libpurple: Drop Purple DBus client code in preparation for DBus drop
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
1 | /* |
| 15884 | 2 | * This is an example of a purple dbus plugin. After enabling this |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
3 | * plugin, the following commands should work from the command line: |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
4 | * |
| 15884 | 5 | * prompt$ purple-send DbusExampleGetHelloObject |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
6 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
7 | * returns, say: int32 74 |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
8 | * |
| 15884 | 9 | * prompt$ purple-send DbusExampleGetText int32:74 |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
10 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
11 | * returns: string "Hello." |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
12 | * |
| 15884 | 13 | * prompt$ purple-send DbusExampleSetText int32:74 string:Bye! |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
14 | * |
| 15884 | 15 | * prompt$ purple-send DbusExampleGetText int32:74 |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
16 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
17 | * returns: string "Bye!" |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
18 | * |
| 15884 | 19 | * Purple is the legal property of its developers, whose names are too numerous |
|
13556
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
20 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
21 | * source distribution. |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
22 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
23 | * This program is free software; you can redistribute it and/or modify |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
24 | * it under the terms of the GNU General Public License as published by |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
25 | * the Free Software Foundation; either version 2 of the License, or |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
26 | * (at your option) any later version. |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
27 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
28 | * This program is distributed in the hope that it will be useful, |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
29 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
30 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
31 | * GNU General Public License for more details. |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
32 | * |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
33 | * You should have received a copy of the GNU General Public License |
|
e264f6757f30
[gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents:
11200
diff
changeset
|
34 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19733
diff
changeset
|
35 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
36 | */ |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
37 | |
|
35072
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
38 | /* When writing a third-party plugin, do not include libpurple's internal.h |
|
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
39 | * included below. This file is for internal libpurple use only. We're including |
|
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
40 | * it here for our own convenience. */ |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
41 | #include "internal.h" |
|
35072
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
42 | |
|
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
43 | /* This file defines PURPLE_PLUGINS and includes all the libpurple headers */ |
|
cb3673616d90
Added a note regarding internal.h for example plugins
Ankit Vani <a@nevitus.org>
parents:
35039
diff
changeset
|
44 | #include <purple.h> |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
45 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
46 | #include <stdio.h> |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
47 | #include <stdlib.h> |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
48 | #include <string.h> |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
49 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
50 | #define DBUS_API_SUBJECT_TO_CHANGE |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
51 | #include "dbus-maybe.h" |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
52 | #include "dbus-bindings.h" |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
53 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
54 | typedef struct { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
55 | char *text; |
| 15884 | 56 | } PurpleText; |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
57 | |
| 15884 | 58 | /* This makes the structure PurpleText visible to the purple-dbus type |
| 59 | system. It defines PurpleText as a type with no parent. From now | |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
60 | on, we will be able to register pointers to structures of this |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
61 | type. You to dbus-define types you want to be directly accessible |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
62 | by external applications. */ |
| 15884 | 63 | PURPLE_DBUS_DEFINE_TYPE(PurpleText) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
64 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
65 | /* Here we make four functions accessible to other applications by |
| 15884 | 66 | DBus. These functions can access types defined in purple proper |
| 67 | (PurpleBuddy) as well as the types defined in the plugin (PurpleText). */ | |
| 68 | DBUS_EXPORT PurpleText* dbus_example_get_hello_object(void); | |
| 69 | DBUS_EXPORT void dbus_example_set_text(PurpleText *obj, const char *text); | |
| 70 | DBUS_EXPORT const char *dbus_example_get_text(PurpleText *obj); | |
| 71 | DBUS_EXPORT const char *dbus_example_get_buddy_name(PurpleBuddy *buddy); | |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
72 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
73 | /* This file has been generated by the #dbus-analize-functions.py |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
74 | script. It contains dbus wrappers for the four functions declared |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
75 | above. */ |
|
38498
f956b9e3f8e6
Fix Meson DBus build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
37136
diff
changeset
|
76 | #include "dbus-example-bindings.ch" |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
77 | |
| 15884 | 78 | /* This is the PurpleText object we want to make publicly visible. */ |
| 79 | static PurpleText hello; | |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
80 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
81 | /* Here come the definitions of the four exported functions. */ |
|
35854
ed4fd1030878
cross-win32: fix libpurple code warnings and errors
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35072
diff
changeset
|
82 | DBUS_EXPORT PurpleText* dbus_example_get_hello_object(void) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
83 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
84 | return &hello; |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
85 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
86 | |
|
35854
ed4fd1030878
cross-win32: fix libpurple code warnings and errors
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35072
diff
changeset
|
87 | DBUS_EXPORT void dbus_example_set_text(PurpleText *obj, const char *text) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
88 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
89 | if (obj != NULL) { |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
90 | g_free(obj->text); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
91 | obj->text = g_strdup(text); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
92 | } |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
93 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
94 | |
|
35854
ed4fd1030878
cross-win32: fix libpurple code warnings and errors
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35072
diff
changeset
|
95 | DBUS_EXPORT const char *dbus_example_get_text(PurpleText *obj) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
96 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
97 | if (obj != NULL) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
98 | return obj->text; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
99 | else |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
100 | return NULL; |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
101 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
102 | |
|
35854
ed4fd1030878
cross-win32: fix libpurple code warnings and errors
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35072
diff
changeset
|
103 | DBUS_EXPORT const char *dbus_example_get_buddy_name(PurpleBuddy *buddy) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
104 | { |
| 15884 | 105 | return purple_buddy_get_name(buddy); |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
106 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
107 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
108 | /* And now standard plugin stuff */ |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
109 | |
|
36747
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
110 | static PurplePluginInfo * |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
111 | plugin_query(GError **error) |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
112 | { |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
113 | const gchar * const authors[] = { |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
114 | "Piotr Zielinski (http://cl.cam.ac.uk/~pz215)", |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
115 | NULL |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
116 | }; |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
117 | |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
118 | return purple_plugin_info_new( |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
119 | "id", "dbus-example", |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
120 | "name", N_("DBus Example"), |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
121 | "version", DISPLAY_VERSION, |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
122 | "category", N_("Example"), |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
123 | "summary", N_("DBus Plugin Example"), |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
124 | "description", N_("DBus Plugin Example"), |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
125 | "authors", authors, |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
126 | "website", PURPLE_WEBSITE, |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
127 | "abi-version", PURPLE_ABI_VERSION, |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
128 | NULL |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
129 | ); |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
130 | } |
|
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
131 | |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
132 | static gboolean |
|
36747
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
133 | plugin_load(PurplePlugin *plugin, GError **error) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
134 | { |
| 15884 | 135 | PURPLE_DBUS_RETURN_FALSE_IF_DISABLED(plugin); |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13556
diff
changeset
|
136 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
137 | /* First, we have to register our four exported functions with the |
| 15884 | 138 | main purple dbus loop. Without this statement, the purple dbus |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
139 | code wouldn't know about our functions. */ |
| 15884 | 140 | PURPLE_DBUS_REGISTER_BINDINGS(plugin); |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
141 | |
| 15884 | 142 | /* Then, we register the hello object of type PurpleText. Note that |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
143 | pointer registrations / unregistrations are completely dynamic; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
144 | they don't have to be made when the plugin is loaded / |
| 15884 | 145 | unloaded. Without this statement the dbus purple code wouldn't |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
146 | know about the hello object. */ |
| 15884 | 147 | PURPLE_DBUS_REGISTER_POINTER(&hello, PurpleText); |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
148 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
149 | hello.text = g_strdup("Hello."); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
150 | |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
151 | return TRUE; |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
152 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
153 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
154 | |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
155 | static gboolean |
|
36747
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
156 | plugin_unload(PurplePlugin *plugin, GError **error) |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
157 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
158 | g_free(hello.text); |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
159 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
160 | /* It is necessary to unregister all pointers registered by the module. */ |
| 15884 | 161 | PURPLE_DBUS_UNREGISTER_POINTER(&hello); |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
162 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14024
diff
changeset
|
163 | return TRUE; |
|
11173
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
164 | } |
|
e9a051205519
[gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
165 | |
|
36747
0b84912ce764
Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
166 | PURPLE_PLUGIN_INIT(dbus_example, plugin_query, plugin_load, plugin_unload); |