Wed, 13 May 2009 20:29:03 +0000
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.
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
| 15884 | 2 | * @file dbus-server.h Purple DBUS Server |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
3 | * @ingroup core |
|
20889
3d0ef192f98c
All the links to libpurple signal pages were in the comment containing the
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
4 | * @see @ref dbus-server-signals |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
7 | /* purple |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
8 | * |
| 15884 | 9 | * Purple is the legal property of its developers, whose names are too numerous |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
10 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
11 | * source distribution. |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
12 | * |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
13 | * This program is free software; you can redistribute it and/or modify |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
14 | * it under the terms of the GNU General Public License as published by |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
15 | * the Free Software Foundation; either version 2 of the License, or |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
16 | * (at your option) any later version. |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
17 | * |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
18 | * This program is distributed in the hope that it will be useful, |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
21 | * GNU General Public License for more details. |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
22 | * |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
23 | * You should have received a copy of the GNU General Public License |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
24 | * 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:
18412
diff
changeset
|
25 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
26 | */ |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
27 | |
| 15884 | 28 | #ifndef _PURPLE_DBUS_SERVER_H_ |
| 29 | #define _PURPLE_DBUS_SERVER_H_ | |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
30 | |
|
22872
41d80fc58db2
Pop up the buddylist of the running instance instead of exiting quietly
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20889
diff
changeset
|
31 | #include "dbus-purple.h" |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
32 | #include "value.h" |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
33 | |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
34 | G_BEGIN_DECLS |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
35 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
36 | /** |
| 15884 | 37 | Types of pointers are identified by the ADDRESS of a PurpleDbusType |
| 38 | object. This way, plugins can easily access types defined in purple | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
39 | proper as well as introduce their own types that will not conflict |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
40 | with those introduced by other plugins. |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
41 | |
| 15884 | 42 | The structure PurpleDbusType has only one element (PurpleDBusType::parent), a |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11171
diff
changeset
|
43 | contains a pointer to the parent type, or @c NULL if the type has no |
|
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11171
diff
changeset
|
44 | parent. Parent means the same as the base class in object oriented |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
45 | programming. |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11171
diff
changeset
|
46 | */ |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
47 | |
| 15884 | 48 | typedef struct _PurpleDBusType PurpleDBusType; |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
49 | |
| 15884 | 50 | struct _PurpleDBusType { |
| 51 | PurpleDBusType *parent; | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
52 | }; |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
53 | |
|
22872
41d80fc58db2
Pop up the buddylist of the running instance instead of exiting quietly
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20889
diff
changeset
|
54 | #include "dbus-bindings.h" |
|
41d80fc58db2
Pop up the buddylist of the running instance instead of exiting quietly
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20889
diff
changeset
|
55 | |
| 15884 | 56 | /* By convention, the PurpleDBusType variable representing each structure |
| 57 | PurpleSomeStructure has the name PURPLE_DBUS_TYPE_PurpleSomeStructure. | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
58 | The following macros facilitate defining such variables |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
59 | |
| 15884 | 60 | #PURPLE_DBUS_DECLARE_TYPE declares an extern variable representing a |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
61 | given type, for use in header files. |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
62 | |
| 15884 | 63 | #PURPLE_DBUS_DEFINE_TYPE defines a variable representing a given |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
64 | type, use in .c files. It defines a new type without a parent; for |
| 15884 | 65 | types with a parent use #PURPLE_DBUS_DEFINE_INHERITING_TYPE. |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
66 | */ |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
67 | |
| 15884 | 68 | #define PURPLE_DBUS_TYPE(type) (&PURPLE_DBUS_TYPE_##type) |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
69 | |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
70 | |
| 15884 | 71 | #define PURPLE_DBUS_DECLARE_TYPE(type) \ |
| 72 | extern PurpleDBusType PURPLE_DBUS_TYPE_##type; | |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
73 | |
| 15884 | 74 | #define PURPLE_DBUS_DEFINE_TYPE(type) \ |
| 75 | PurpleDBusType PURPLE_DBUS_TYPE_##type = { NULL }; | |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
76 | |
| 15884 | 77 | #define PURPLE_DBUS_DEFINE_INHERITING_TYPE(type, parent) \ |
| 78 | PurpleDBusType PURPLE_DBUS_TYPE_##type = { PURPLE_DBUS_TYPE(parent) }; | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
79 | |
| 15884 | 80 | #define PURPLE_DBUS_RETURN_FALSE_IF_DISABLED(plugin) \ |
| 81 | if (purple_dbus_get_init_error() != NULL) \ | |
|
14018
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
82 | { \ |
|
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
83 | gchar *title; \ |
|
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
84 | title = g_strdup_printf("Unable to Load %s Plugin", plugin->info->name); \ |
| 15884 | 85 | purple_notify_error(NULL, title, \ |
| 86 | _("Purple's D-BUS server is not running for the reason listed below"), \ | |
| 87 | _(purple_dbus_get_init_error())); \ | |
|
14018
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
88 | g_free(title); \ |
|
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
89 | return FALSE; \ |
|
0d82c17d8000
[gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents:
14017
diff
changeset
|
90 | } |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
91 | |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
92 | /** |
| 15884 | 93 | Initializes purple dbus pointer registration engine. |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
94 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
95 | Remote dbus applications need a way of addressing objects exposed |
| 15884 | 96 | by purple to the outside world. In purple itself, these objects (such |
| 97 | as PurpleBuddy and company) are identified by pointers. The purple | |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
98 | dbus pointer registration engine converts pointers to handles and |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
99 | back. |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
100 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
101 | In order for an object to participate in the scheme, it must |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
102 | register itself and its type with the engine. This registration |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
103 | allocates an integer id which can be resolved to the pointer and |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
104 | back. |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
105 | |
| 15884 | 106 | Handles are not persistent. They are reissued every time purple is |
| 107 | started. This is not good; external applications that use purple | |
| 108 | should work even whether purple was restarted in the middle of the | |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
109 | interaction. |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
110 | |
| 15884 | 111 | Pointer registration is only a temporary solution. When PurpleBuddy |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
112 | and similar structures have been converted into gobjects, this |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
113 | registration will be done automatically by objects themselves. |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
114 | |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
115 | By the way, this kind of object-handle translation should be so |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
116 | common that there must be a library (maybe even glib) that |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
117 | implements it. I feel a bit like reinventing the wheel here. |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
118 | */ |
| 15884 | 119 | void purple_dbus_init_ids(void); |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
120 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
121 | /** |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
122 | Registers a typed pointer. |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
123 | |
|
11129
c986d8566843
[gaim-migrate @ 13185]
Mark Doliner <markdoliner@pidgin.im>
parents:
11080
diff
changeset
|
124 | @param node The pointer to register. |
|
c986d8566843
[gaim-migrate @ 13185]
Mark Doliner <markdoliner@pidgin.im>
parents:
11080
diff
changeset
|
125 | @param type Type of that pointer. |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
126 | */ |
| 15884 | 127 | void purple_dbus_register_pointer(gpointer node, PurpleDBusType *type); |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
128 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
129 | /** |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
130 | Unregisters a pointer previously registered with |
| 15884 | 131 | purple_dbus_register_pointer. |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
132 | |
|
11129
c986d8566843
[gaim-migrate @ 13185]
Mark Doliner <markdoliner@pidgin.im>
parents:
11080
diff
changeset
|
133 | @param node The pointer to register. |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
134 | */ |
| 15884 | 135 | void purple_dbus_unregister_pointer(gpointer node); |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
136 | |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
137 | |
|
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
138 | |
|
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
139 | /** |
|
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
140 | Emits a dbus signal. |
|
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
141 | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
142 | @param name The name of the signal ("bla-bla-blaa") |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
143 | @param num_values The number of parameters. |
| 15884 | 144 | @param values Array of pointers to #PurpleValue objects representing |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
145 | the types of the parameters. |
|
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
146 | @param vargs A va_list containing the actual parameters. |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
147 | */ |
| 15884 | 148 | void purple_dbus_signal_emit_purple(const char *name, int num_values, |
| 149 | PurpleValue **values, va_list vargs); | |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
150 | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
151 | /** |
| 15884 | 152 | * Returns whether Purple's D-BUS subsystem is up and running. If it's |
| 153 | * NOT running then purple_dbus_dispatch_init() failed for some reason, | |
| 154 | * and a message should have been purple_debug_error()'ed. | |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
155 | * |
| 15884 | 156 | * Purple plugins that use D-BUS should use the |
| 157 | * PURPLE_DBUS_RETURN_FALSE_IF_DISABLED macro to short-circuit | |
| 158 | * initialization if Purple's D-BUS subsystem is not running. | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
159 | * |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
160 | * @return If the D-BUS subsystem started with no problems then this |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
161 | * will return NULL and everything will be hunky dory. If |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
162 | * there was an error initializing the D-BUS subsystem then |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
163 | * this will return an error message explaining why. |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
164 | */ |
| 15884 | 165 | const char *purple_dbus_get_init_error(void); |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
166 | |
|
12627
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11903
diff
changeset
|
167 | /** |
|
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11903
diff
changeset
|
168 | * Returns the dbus subsystem handle. |
|
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11903
diff
changeset
|
169 | * |
|
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11903
diff
changeset
|
170 | * @return The dbus subsystem handle. |
|
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11903
diff
changeset
|
171 | */ |
| 15884 | 172 | void *purple_dbus_get_handle(void); |
|
11080
0578003800d0
[gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
173 | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
174 | /** |
|
17121
43d41f5ce17b
Alternative dbus_uniq implementation
Gabriel Schulhof <nix@go-nix.ca>
parents:
15884
diff
changeset
|
175 | * Determines whether this instance owns the DBus service name |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
22872
diff
changeset
|
176 | * |
|
17883
85abd6e343df
Document the API changes.
Richard Laager <rlaager@pidgin.im>
parents:
17121
diff
changeset
|
177 | * @since 2.1.0 |
|
17121
43d41f5ce17b
Alternative dbus_uniq implementation
Gabriel Schulhof <nix@go-nix.ca>
parents:
15884
diff
changeset
|
178 | */ |
|
18080
92fb9192dca9
Add void to the purple_dbus_is_owner() prototype.
Richard Laager <rlaager@pidgin.im>
parents:
18072
diff
changeset
|
179 | gboolean purple_dbus_is_owner(void); |
|
17121
43d41f5ce17b
Alternative dbus_uniq implementation
Gabriel Schulhof <nix@go-nix.ca>
parents:
15884
diff
changeset
|
180 | |
|
43d41f5ce17b
Alternative dbus_uniq implementation
Gabriel Schulhof <nix@go-nix.ca>
parents:
15884
diff
changeset
|
181 | /** |
| 15884 | 182 | * Starts Purple's D-BUS server. It is responsible for handling DBUS |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
183 | * requests from other applications. |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
184 | */ |
| 15884 | 185 | void purple_dbus_init(void); |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
186 | |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
187 | /** |
| 15884 | 188 | * Uninitializes Purple's D-BUS server. |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
189 | */ |
| 15884 | 190 | void purple_dbus_uninit(void); |
|
14017
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
191 | |
|
db3f1bdc95c6
[gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents:
13785
diff
changeset
|
192 | /** |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
193 | |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
194 | Macro #DBUS_EXPORT expands to nothing. It is used to indicate to the |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11171
diff
changeset
|
195 | dbus-analize-functions.py script that the given function should be |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
196 | available to other applications through DBUS. If |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11171
diff
changeset
|
197 | dbus-analize-functions.py is run without the "--export-only" option, |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
198 | this prefix is ignored. |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
199 | |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
200 | */ |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
201 | |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
202 | #define DBUS_EXPORT |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
203 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14018
diff
changeset
|
204 | /* |
| 15884 | 205 | Here we include the list of #PURPLE_DBUS_DECLARE_TYPE statements for |
| 206 | all structs defined in purple. This file has been generated by the | |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
207 | #dbus-analize-types.py script. |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
208 | */ |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
209 | |
|
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
210 | #include "dbus-types.h" |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11055
diff
changeset
|
211 | |
|
11055
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
212 | G_END_DECLS |
|
e564996853bf
[gaim-migrate @ 12996]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
213 | |
| 15884 | 214 | #endif /* _PURPLE_DBUS_SERVER_H_ */ |