annotate plugins/dbus-example.c @ 13955:2d6f7ac4b6f2

[gaim-migrate @ 16503] Get rid of an assertion failure when trying to load our D-BUS example plugin if the D-BUS subsystem is not initialized for whatever reason. Not only that, the plugin gracefully fails to load and prints an error message. These error messages could be improved. If you're familiar with how D-BUS works then go for it. Also, do we need to be uninitializing any of the D-BUS stuff? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 17 Jul 2006 05:50:28 +0000
parents a7b24ba66570
children f61428cc4019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13555
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
1 /*
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
2 * This is an example of a gaim dbus plugin. After enabling this
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
3 * plugin, the following commands should work from the command line:
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
4 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
5 * prompt$ gaim-send DbusExampleGetHelloObject
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
6 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
7 * returns, say: int32 74
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
8 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
9 * prompt$ gaim-send DbusExampleGetText int32:74
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
10 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
11 * returns: string "Hello."
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
12 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
13 * prompt$ gaim-send DbusExampleSetText int32:74 string:Bye!
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
14 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
15 * prompt$ gaim-send DbusExampleGetText int32:74
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
16 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
17 * returns: string "Bye!"
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
18 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
19 * Gaim is the legal property of its developers, whose names are too numerous
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
20 * to list here. Please refer to the COPYRIGHT file distributed with this
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
21 * source distribution.
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
22 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
23 * This program is free software; you can redistribute it and/or modify
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
24 * it under the terms of the GNU General Public License as published by
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
25 * the Free Software Foundation; either version 2 of the License, or
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
26 * (at your option) any later version.
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
27 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
28 * This program is distributed in the hope that it will be useful,
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
31 * GNU General Public License for more details.
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
32 *
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
33 * You should have received a copy of the GNU General Public License
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
34 * along with this program; if not, write to the Free Software
a7b24ba66570 [gaim-migrate @ 15933]
Richard Laager <rlaager@wiktel.com>
parents: 11200
diff changeset
35 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
11173
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
36 */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
37
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
38 #include "internal.h"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
39
13955
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
40 #include "blist.h"
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
41 #include "notify.h"
11173
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
42 #include "plugin.h"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
43 #include "version.h"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
44
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
45 #include <stdio.h>
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
46 #include <stdlib.h>
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
47 #include <string.h>
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
48
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
49 #define DBUS_API_SUBJECT_TO_CHANGE
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
50 #include "dbus-maybe.h"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
51 #include "dbus-bindings.h"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
52
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
53 typedef struct {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
54 char *text;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
55 } GaimText;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
56
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
57 /* This makes the structure GaimText visible to the gaim-dbus type
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
58 system. It defines GaimText as a type with no parent. From now
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
59 on, we will be able to register pointers to structures of this
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
60 type. You to dbus-define types you want to be directly accessible
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
61 by external applications. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
62 GAIM_DBUS_DEFINE_TYPE(GaimText)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
63
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
64 /* Here we make four functions accessible to other applications by
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
65 DBus. These functions can access types defined in gaim proper
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
66 (GaimBuddy) as well as the types defined in the plugin (GaimText). */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
67 DBUS_EXPORT GaimText* dbus_example_get_hello_object(void);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
68 DBUS_EXPORT void dbus_example_set_text(GaimText *obj, const char *text);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
69 DBUS_EXPORT const char *dbus_example_get_text(GaimText *obj);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
70 DBUS_EXPORT const char *dbus_example_get_buddy_name(GaimBuddy *buddy);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
71
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
72 /* This file has been generated by the #dbus-analize-functions.py
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
73 script. It contains dbus wrappers for the four functions declared
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
74 above. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
75 #include "dbus-example-bindings.c"
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
76
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
77 /* This is the GaimText object we want to make publicly visible. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
78 static GaimText hello;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
79
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
80 /* Here come the definitions of the four exported functions. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
81 GaimText* dbus_example_get_hello_object(void)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
82 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
83 return &hello;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
84 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
85
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
86 void dbus_example_set_text(GaimText *obj, const char *text)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
87 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
88 if (obj != NULL) {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
89 g_free(obj->text);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
90 obj->text = g_strdup(text);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
91 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
92 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
93
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
94 const char *dbus_example_get_text(GaimText *obj)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
95 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
96 if (obj != NULL)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
97 return obj->text;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
98 else
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
99 return NULL;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
100 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
101
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
102 const char *dbus_example_get_buddy_name(GaimBuddy *buddy)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
103 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
104 return gaim_buddy_get_name(buddy);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
105 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
106
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
107 /* And now standard plugin stuff */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
108
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
109 static gboolean
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
110 plugin_load(GaimPlugin *plugin)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
111 {
13955
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
112 const char *dbus_init_error;
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
113
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
114 dbus_init_error = gaim_dbus_get_init_error();
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
115 if (dbus_init_error != NULL)
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
116 {
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
117 gaim_notify_error(NULL, _("Unable to Load Plugin"),
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
118 _("Gaim's D-BUS server is not running for the reason listed below"),
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
119 _(dbus_init_error));
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
120 return FALSE;
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
121 }
2d6f7ac4b6f2 [gaim-migrate @ 16503]
Mark Doliner <mark@kingant.net>
parents: 13555
diff changeset
122
11173
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
123 /* First, we have to register our four exported functions with the
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
124 main gaim dbus loop. Without this statement, the gaim dbus
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
125 code wouldn't know about our functions. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
126 GAIM_DBUS_REGISTER_BINDINGS(plugin);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
127
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
128 /* Then, we register the hello object of type GaimText. Note that
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
129 pointer registrations / unregistrations are completely dynamic;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
130 they don't have to be made when the plugin is loaded /
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
131 unloaded. Without this statement the dbus gaim code wouldn't
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
132 know about the hello object. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
133 GAIM_DBUS_REGISTER_POINTER(&hello, GaimText);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
134
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
135 hello.text = g_strdup("Hello.");
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
136
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
137 return TRUE;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
138 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
139
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
140
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
141 static gboolean
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
142 plugin_unload(GaimPlugin *plugin)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
143 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
144 g_free(hello.text);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
145
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
146 /* It is necessary to unregister all pointers registered by the module. */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
147 GAIM_DBUS_UNREGISTER_POINTER(&hello);
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
148
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
149 return TRUE;
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
150 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
151
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
152 static GaimPluginInfo info =
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
153 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
154 GAIM_PLUGIN_MAGIC,
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
155 GAIM_MAJOR_VERSION,
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
156 GAIM_MINOR_VERSION,
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
157 GAIM_PLUGIN_STANDARD, /**< type */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
158 NULL, /**< ui_requirement */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
159 0, /**< flags */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
160 NULL, /**< dependencies */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
161 GAIM_PRIORITY_DEFAULT, /**< priority */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
162
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
163 "dbus-example", /**< id */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
164 N_("DBus"), /**< name */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
165 VERSION, /**< version */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
166 /** summary */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
167 N_("DBus Plugin Example"),
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
168 /** description */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
169 N_("DBus Plugin Example"),
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
170 "Piotr Zielinski (http://cl.cam.ac.uk/~pz215)", /**< author */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
171 GAIM_WEBSITE, /**< homepage */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
172
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
173 plugin_load, /**< load */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
174 plugin_unload, /**< unload */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
175 NULL, /**< destroy */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
176
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
177 NULL, /**< ui_info */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
178 NULL, /**< extra_info */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
179 NULL, /**< prefs_info */
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
180 NULL
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
181 };
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
182
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
183 static void init_plugin(GaimPlugin *plugin)
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
184 {
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
185 }
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
186
91ca67258564 [gaim-migrate @ 13278]
Piotr Zielinski <zielaj>
parents:
diff changeset
187 GAIM_INIT_PLUGIN(dbus_example, init_plugin, info)