libpurple/dbus-bindings.h

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 25888
d0fdd378a635
child 32438
dc8991868906
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.

11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
1 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * @file dbus-bindings.h Purple DBUS Bindings
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
3 * @ingroup core
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
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 /* purple
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
7 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
10 * source distribution.
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
11 *
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
15 * (at your option) any later version.
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
16 *
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
20 * GNU General Public License for more details.
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
21 *
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
23 * 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: 18190
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
25 *
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
26 */
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
27
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
28 #ifndef _PURPLE_DBUS_BINDINGS_H_
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
29 #define _PURPLE_DBUS_BINDINGS_H_
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
30
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
31 #include <dbus/dbus.h>
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
32 #include <dbus/dbus-glib-lowlevel.h>
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
33 #include <glib.h>
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
34
11884
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
35 #ifdef __cplusplus
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
36 extern "C" {
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
37 #endif
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
38
17516
4a5036965628 A patch from o_sukhodolsky to fix a couple warnings like this:
Richard Laager <rlaager@pidgin.im>
parents: 17514
diff changeset
39 gint purple_dbus_pointer_to_id(gconstpointer node);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
40 gpointer purple_dbus_id_to_pointer(gint id, PurpleDBusType *type);
17516
4a5036965628 A patch from o_sukhodolsky to fix a couple warnings like this:
Richard Laager <rlaager@pidgin.im>
parents: 17514
diff changeset
41 gint purple_dbus_pointer_to_id_error(gconstpointer ptr, DBusError *error);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
42 gpointer purple_dbus_id_to_pointer_error(gint id, PurpleDBusType *type,
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
43 const char *typename, DBusError *error);
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
44
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
45 #define NULLIFY(id) id = empty_to_null(id)
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
46
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
47 #define CHECK_ERROR(error) if (dbus_error_is_set(error)) return NULL;
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
48
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
49 #define PURPLE_DBUS_ID_TO_POINTER(ptr, id, type, error) \
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
50 G_STMT_START { \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
51 ptr = (type*) purple_dbus_id_to_pointer_error \
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
52 (id, PURPLE_DBUS_TYPE(type), #type, error); \
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
53 CHECK_ERROR(error); \
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
54 } G_STMT_END
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
55
513d5e6e7f7e [gaim-migrate @ 13279]
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 #define PURPLE_DBUS_POINTER_TO_ID(id, ptr, error) \
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
58 G_STMT_START { \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
59 id = purple_dbus_pointer_to_id_error(ptr,error); \
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
60 CHECK_ERROR(error); \
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
61 } G_STMT_END
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
62
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
63
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
64 dbus_bool_t
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
65 purple_dbus_message_get_args (DBusMessage *message,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
66 DBusError *error,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
67 int first_arg_type,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
68 ...);
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
69 dbus_bool_t
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
70 purple_dbus_message_get_args_valist (DBusMessage *message,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
71 DBusError *error,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
72 int first_arg_type,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
73 va_list var_args);
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
74
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
75 dbus_bool_t
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
76 purple_dbus_message_iter_get_args (DBusMessageIter *iter,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
77 DBusError *error,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
78 int first_arg_type,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
79 ...);
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
80
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
81 dbus_bool_t
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
82 purple_dbus_message_iter_get_args_valist (DBusMessageIter *iter,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
83 DBusError *error,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
84 int first_arg_type,
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
85 va_list var_args);
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
86
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 20147
diff changeset
87 dbus_int32_t* purple_dbusify_GList(GList *list, gboolean free_memory,
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
88 dbus_int32_t *len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
89 dbus_int32_t* purple_dbusify_GSList(GSList *list, gboolean free_memory,
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
90 dbus_int32_t *len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
91 gpointer* purple_GList_to_array(GList *list, gboolean free_memory,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
92 dbus_int32_t *len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
93 gpointer* purple_GSList_to_array(GSList *list, gboolean free_memory,
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
94 dbus_int32_t *len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
95 GHashTable *purple_dbus_iter_hash_table(DBusMessageIter *iter, DBusError *error);
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11174
diff changeset
96
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
97 const char* empty_to_null(const char *str);
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
98 const char* null_to_empty(const char *s);
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
99
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
100 typedef struct {
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
101 const char *name;
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
102 const char *parameters;
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
103 DBusMessage* (*handler)(DBusMessage *request, DBusError *error);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
104 } PurpleDBusBinding;
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
105
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
106 void purple_dbus_register_bindings(void *handle, PurpleDBusBinding *bindings);
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
107
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
108 DBusConnection *purple_dbus_get_connection(void);
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
109
11884
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
110 #ifdef __cplusplus
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
111 }
11174
513d5e6e7f7e [gaim-migrate @ 13279]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff changeset
112 #endif
11884
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
113
44f2000e6d64 [gaim-migrate @ 14175]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11501
diff changeset
114 #endif

mercurial