libpurple/plugins/dbus-example.c

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 20288
5ca925a094e2
child 34706
02cb08146888
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

13556
e264f6757f30 [gaim-migrate @ 15933]
Richard Laager <rlaager@pidgin.im>
parents: 11200
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
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
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
38 #include "internal.h"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
39
14017
db3f1bdc95c6 [gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents: 13556
diff changeset
40 #include "blist.h"
db3f1bdc95c6 [gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents: 13556
diff changeset
41 #include "notify.h"
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
42 #include "plugin.h"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
43 #include "version.h"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
44
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
45 #include <stdio.h>
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
46 #include <stdlib.h>
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
47 #include <string.h>
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
48
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
49 #define DBUS_API_SUBJECT_TO_CHANGE
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
50 #include "dbus-maybe.h"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
51 #include "dbus-bindings.h"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
52
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
53 typedef struct {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
54 char *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
55 } PurpleText;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
56
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
57 /* This makes the structure PurpleText visible to the purple-dbus type
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
58 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
59 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
60 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
61 by external applications. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
62 PURPLE_DBUS_DEFINE_TYPE(PurpleText)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
63
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
64 /* Here we make four functions accessible to other applications by
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
65 DBus. These functions can access types defined in purple proper
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
66 (PurpleBuddy) as well as the types defined in the plugin (PurpleText). */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
67 DBUS_EXPORT PurpleText* dbus_example_get_hello_object(void);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
68 DBUS_EXPORT void dbus_example_set_text(PurpleText *obj, const char *text);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
69 DBUS_EXPORT const char *dbus_example_get_text(PurpleText *obj);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
70 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
71
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
72 /* This file has been generated by the #dbus-analize-functions.py
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
73 script. It contains dbus wrappers for the four functions declared
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
74 above. */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
75 #include "dbus-example-bindings.c"
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
76
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
77 /* This is the PurpleText object we want to make publicly visible. */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
78 static PurpleText hello;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
79
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
80 /* Here come the definitions of the four exported functions. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
81 PurpleText* dbus_example_get_hello_object(void)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
82 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
83 return &hello;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
84 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
85
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
86 void dbus_example_set_text(PurpleText *obj, const char *text)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
87 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
88 if (obj != NULL) {
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
89 g_free(obj->text);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
90 obj->text = g_strdup(text);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
91 }
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
92 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
93
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
94 const char *dbus_example_get_text(PurpleText *obj)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
95 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
96 if (obj != NULL)
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
97 return obj->text;
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
98 else
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
99 return NULL;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
100 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
101
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
102 const char *dbus_example_get_buddy_name(PurpleBuddy *buddy)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
103 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
104 return purple_buddy_get_name(buddy);
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
105 }
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 /* And now standard plugin stuff */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
108
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
109 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
110 plugin_load(PurplePlugin *plugin)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
111 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
112 PURPLE_DBUS_RETURN_FALSE_IF_DISABLED(plugin);
14017
db3f1bdc95c6 [gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents: 13556
diff changeset
113
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
114 /* First, we have to register our four exported functions with the
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
115 main purple dbus loop. Without this statement, the purple dbus
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
116 code wouldn't know about our functions. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
117 PURPLE_DBUS_REGISTER_BINDINGS(plugin);
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
118
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
119 /* 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
120 pointer registrations / unregistrations are completely dynamic;
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
121 they don't have to be made when the plugin is loaded /
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
122 unloaded. Without this statement the dbus purple code wouldn't
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
123 know about the hello object. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
124 PURPLE_DBUS_REGISTER_POINTER(&hello, PurpleText);
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
125
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
126 hello.text = g_strdup("Hello.");
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
127
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
128 return TRUE;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
129 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
130
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
131
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
132 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
133 plugin_unload(PurplePlugin *plugin)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
134 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
135 g_free(hello.text);
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
136
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
137 /* It is necessary to unregister all pointers registered by the module. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
138 PURPLE_DBUS_UNREGISTER_POINTER(&hello);
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
139
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14024
diff changeset
140 return TRUE;
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
141 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
142
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
143 static PurplePluginInfo info =
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
144 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
145 PURPLE_PLUGIN_MAGIC,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
146 PURPLE_MAJOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
147 PURPLE_MINOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
148 PURPLE_PLUGIN_STANDARD, /**< type */
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
149 NULL, /**< ui_requirement */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
150 0, /**< flags */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
151 NULL, /**< dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
152 PURPLE_PRIORITY_DEFAULT, /**< priority */
11173
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 "dbus-example", /**< id */
14024
60730ce4455c [gaim-migrate @ 16515]
Mark Doliner <markdoliner@pidgin.im>
parents: 14018
diff changeset
155 N_("DBus Example"), /**< name */
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19859
diff changeset
156 DISPLAY_VERSION, /**< version */
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
157 /** summary */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
158 N_("DBus Plugin Example"),
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
159 /** description */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
160 N_("DBus Plugin Example"),
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
161 "Piotr Zielinski (http://cl.cam.ac.uk/~pz215)", /**< author */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
162 PURPLE_WEBSITE, /**< homepage */
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
163
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
164 plugin_load, /**< load */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
165 plugin_unload, /**< unload */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
166 NULL, /**< destroy */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
167
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
168 NULL, /**< ui_info */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
169 NULL, /**< extra_info */
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
170 NULL, /**< prefs_info */
16745
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
171 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
172
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
173 /* padding */
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
174 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
175 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
176 NULL,
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
177 NULL
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
178 };
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
179
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
180 static void init_plugin(PurplePlugin *plugin)
11173
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
181 {
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
182 }
e9a051205519 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
183
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
184 PURPLE_INIT_PLUGIN(dbus_example, init_plugin, info)

mercurial