libpurple/purpleprotocolserver.h

changeset 42725
ceb13f1de2d2
parent 42705
e78a46048ae7
child 42727
67132affc27c
equal deleted inserted replaced
42724:2794bb8587d3 42725:ceb13f1de2d2
28 #define PURPLE_PROTOCOL_SERVER_H 28 #define PURPLE_PROTOCOL_SERVER_H
29 29
30 #include <glib.h> 30 #include <glib.h>
31 #include <glib-object.h> 31 #include <glib-object.h>
32 32
33 #include "buddy.h"
34 #include "connection.h" 33 #include "connection.h"
35 #include "group.h" 34 #include "group.h"
36 #include "purpleaccount.h" 35 #include "purpleaccount.h"
37 #include "purplemessage.h" 36 #include "purplemessage.h"
38 #include "purpleprotocol.h" 37 #include "purpleprotocol.h"
65 64
66 void (*set_idle)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, gint idletime); 65 void (*set_idle)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, gint idletime);
67 66
68 void (*change_passwd)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass); 67 void (*change_passwd)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass);
69 68
70 void (*add_buddy)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleBuddy *buddy, PurpleGroup *group, const gchar *message);
71 void (*remove_buddy)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleBuddy *buddy, PurpleGroup *group);
72 void (*remove_buddies)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, GList *buddies, GList *groups);
73
74 void (*alias_buddy)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *who, const gchar *alias);
75
76 void (*group_buddy)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *who, const gchar *old_group, const gchar *new_group);
77
78 void (*rename_group)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_name, PurpleGroup *group, GList *moved_buddies); 69 void (*rename_group)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_name, PurpleGroup *group, GList *moved_buddies);
79
80 void (*set_buddy_icon)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleImage *img);
81 70
82 void (*remove_group)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleGroup *group); 71 void (*remove_group)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleGroup *group);
83 72
84 gint (*send_raw)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *buf, gint len); 73 gint (*send_raw)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *buf, gint len);
85 74
140 */ 129 */
141 PURPLE_AVAILABLE_IN_3_0 130 PURPLE_AVAILABLE_IN_3_0
142 void purple_protocol_server_change_passwd(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass); 131 void purple_protocol_server_change_passwd(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass);
143 132
144 /** 133 /**
145 * purple_protocol_server_add_buddy:
146 * @protocol_server: The #PurpleProtocolServer instance.
147 * @connection: The #PurpleConnection instance.
148 * @buddy: The #PurpleBuddy to add.
149 * @group: The #PurpleGroup for @buddy.
150 * @message: An optional invite message.
151 *
152 * This protocol function may be called in situations in which the buddy is
153 * already in the specified group. If the protocol supports authorization and
154 * the user is not already authorized to see the status of @buddy, this
155 * function will request authorization. If authorization is required, then
156 * @message will be used as an invite message.
157 *
158 * Since: 3.0
159 */
160 PURPLE_AVAILABLE_IN_3_0
161 void purple_protocol_server_add_buddy(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleBuddy *buddy, PurpleGroup *group, const gchar *message);
162
163 /**
164 * purple_protocol_server_remove_buddy:
165 * @protocol_server: The #PurpleProtocolServer instance.
166 * @connection: The #PurpleConnection instance.
167 * @buddy: The #PurpleBuddy instance.
168 * @group: (nullable): The #PurpleGroup instance.
169 *
170 * Removes @buddy and potentially @group from the server side list of contacts.
171 *
172 * Since: 3.0
173 */
174 PURPLE_AVAILABLE_IN_3_0
175 void purple_protocol_server_remove_buddy(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleBuddy *buddy, PurpleGroup *group);
176
177 /**
178 * purple_protocol_server_remove_buddies:
179 * @protocol_server: The #PurpleProtocolServer instance.
180 * @connection: The #PurpleConnection instance.
181 * @buddies: (element-type PurpleBuddy): A #GList of #PurpleBuddy's to remove.
182 * @groups: (element-type PurpleGroup): A #GList of #PurpleGroup's
183 * corresponding to @buddies.
184 *
185 * Similar to purple_protocol_server_remove_buddy() but allows you to remove
186 * multiple at a time.
187 *
188 * If @protocol_server doesn't implement this function directly,
189 * purple_protocol_server_remove_buddy() will be called for each buddy/group
190 * pair in @buddies/@groups.
191 *
192 * Since: 3.0
193 */
194 PURPLE_AVAILABLE_IN_3_0
195 void purple_protocol_server_remove_buddies(PurpleProtocolServer *protocol_server, PurpleConnection *connection, GList *buddies, GList *groups);
196
197 /**
198 * purple_protocol_server_group_buddy:
199 * @protocol_server: The #PurpleProtocolServer instance.
200 * @connection: The #PurpleConnection instance.
201 * @who: The name of the user whose group to switch.
202 * @old_group: The name of @who's old group.
203 * @new_group: The name of the new group to add @who to.
204 *
205 * Moves @who from group @old_group to a new group of @new_group.
206 *
207 * Since: 3.0
208 */
209 PURPLE_AVAILABLE_IN_3_0
210 void purple_protocol_server_group_buddy(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *who, const gchar *old_group, const gchar *new_group);
211
212 /**
213 * purple_protocol_server_rename_group: 134 * purple_protocol_server_rename_group:
214 * @protocol_server: The #PurpleProtocolServer instance. 135 * @protocol_server: The #PurpleProtocolServer instance.
215 * @connection: The #PurpleConnection instance. 136 * @connection: The #PurpleConnection instance.
216 * @old_name: The old name of the group. 137 * @old_name: The old name of the group.
217 * @group: The new #PurpleGroup instance. 138 * @group: The new #PurpleGroup instance.
218 * @moved_buddies: (element-type PurpleBuddy): A list of #PurpleBuddy's being 139 * @moved_buddies: (element-type GObject): A list of #PurpleBuddy's being
219 * moved as part of this rename. 140 * moved as part of this rename.
220 * 141 *
221 * Renames the group named @old_name to the new @group. 142 * Renames the group named @old_name to the new @group.
222 * 143 *
223 * Since: 3.0 144 * Since: 3.0
224 */ 145 */
225 PURPLE_AVAILABLE_IN_3_0 146 PURPLE_AVAILABLE_IN_3_0
226 void purple_protocol_server_rename_group(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_name, PurpleGroup *group, GList *moved_buddies); 147 void purple_protocol_server_rename_group(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_name, PurpleGroup *group, GList *moved_buddies);
227
228 /**
229 * purple_protocol_server_set_buddy_icon:
230 * @protocol_server: The #PurpleProtocolServer instance.
231 * @connection: The #PurpleConnection instance.
232 * @img: (nullable): The #PurpleImage instance, or %NULL to unset the icon.
233 *
234 * Sets the user's buddy icon to @img.
235 *
236 * Since: 3.0
237 */
238 PURPLE_AVAILABLE_IN_3_0
239 void purple_protocol_server_set_buddy_icon(PurpleProtocolServer *protocol_server, PurpleConnection *connection, PurpleImage *img);
240 148
241 /** 149 /**
242 * purple_protocol_server_remove_group: 150 * purple_protocol_server_remove_group:
243 * @protocol_server: The #PurpleProtocolServer instance. 151 * @protocol_server: The #PurpleProtocolServer instance.
244 * @connection: The #PurpleConnection instance. 152 * @connection: The #PurpleConnection instance.

mercurial