libpurple/purpleprotocolroster.c

Fri, 20 Oct 2023 02:10:54 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 20 Oct 2023 02:10:54 -0500
changeset 42376
c6aa66fec38a
parent 42256
829e76c73ed1
child 42594
eddde70cedd8
permissions
-rw-r--r--

Prefix version.h with purple

And split constants into a separate file as in hasl.

Testing Done:
Compiled.

Reviewed at https://reviews.imfreedom.org/r/2680/

42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #include "purpleprotocolroster.h"
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 /******************************************************************************
42247
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
26 * GInterface Implementation
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 *****************************************************************************/
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 G_DEFINE_INTERFACE(PurpleProtocolRoster, purple_protocol_roster,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 PURPLE_TYPE_PROTOCOL)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 static void
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 purple_protocol_roster_default_init(G_GNUC_UNUSED PurpleProtocolRosterInterface *iface)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 /******************************************************************************
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 * Public API
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 *****************************************************************************/
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 void
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 purple_protocol_roster_add_async(PurpleProtocolRoster *roster,
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
41 PurpleAccount *account,
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 PurpleContact *contact,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 GCancellable *cancellable,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 GAsyncReadyCallback callback,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 gpointer data)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 g_return_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 g_return_if_fail(PURPLE_IS_CONTACT(contact));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 if(iface != NULL && iface->add_async != NULL) {
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
54 iface->add_async(roster, account, contact, cancellable, callback,
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
55 data);
42247
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
56 } else {
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
57 g_warning("%s does not implement the add_async method",
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
58 G_OBJECT_TYPE_NAME(roster));
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 gboolean
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 purple_protocol_roster_add_finish(PurpleProtocolRoster *roster,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 GAsyncResult *result, GError **error)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 g_return_val_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster), FALSE);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 if(iface != NULL && iface->add_finish != NULL) {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 return iface->add_finish(roster, result, error);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 return FALSE;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 void
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 purple_protocol_roster_update_async(PurpleProtocolRoster *roster,
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
80 PurpleAccount *account,
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 PurpleContact *contact,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 GCancellable *cancellable,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 GAsyncReadyCallback callback,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 gpointer data)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 g_return_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 g_return_if_fail(PURPLE_IS_CONTACT(contact));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 if(iface != NULL && iface->update_async != NULL) {
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
93 iface->update_async(roster, account, contact, cancellable, callback,
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
94 data);
42247
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
95 } else {
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
96 g_warning("%s does not implement the update_async method",
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
97 G_OBJECT_TYPE_NAME(roster));
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 gboolean
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 purple_protocol_roster_update_finish(PurpleProtocolRoster *roster,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 GAsyncResult *result, GError **error)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 g_return_val_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster), FALSE);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 if(iface != NULL && iface->update_finish != NULL) {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 return iface->update_finish(roster, result, error);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 return FALSE;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 void
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 purple_protocol_roster_remove_async(PurpleProtocolRoster *roster,
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
119 PurpleAccount *account,
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 PurpleContact *contact,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 GCancellable *cancellable,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 GAsyncReadyCallback callback,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 gpointer data)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 g_return_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 g_return_if_fail(PURPLE_IS_CONTACT(contact));
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 if(iface != NULL && iface->remove_async != NULL) {
42256
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
132 iface->remove_async(roster, account, contact, cancellable, callback,
829e76c73ed1 Add an account parameter to all async methods for PurpleProtocolRoster
Gary Kramlich <grim@reaperworld.com>
parents: 42247
diff changeset
133 data);
42247
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
134 } else {
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
135 g_warning("%s does not implement the remove_async method",
faf4b46f690c Use g_warnings when the async methods of ProtocolRoster are called if there is no implementation
Gary Kramlich <grim@reaperworld.com>
parents: 42243
diff changeset
136 G_OBJECT_TYPE_NAME(roster));
42243
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 gboolean
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 purple_protocol_roster_remove_finish(PurpleProtocolRoster *roster,
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 GAsyncResult *result, GError **error)
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 PurpleProtocolRosterInterface *iface = NULL;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 g_return_val_if_fail(PURPLE_IS_PROTOCOL_ROSTER(roster), FALSE);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 iface = PURPLE_PROTOCOL_ROSTER_GET_IFACE(roster);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 if(iface != NULL && iface->remove_finish != NULL) {
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 return iface->remove_finish(roster, result, error);
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 }
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 return FALSE;
4659a7247aa7 Add PurpleProtocolRoster for managing server side rosters
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 }

mercurial