libpurple/protocols/jabber/iq.c

changeset 40312
956745ff3ee8
parent 39015
bb929248da3d
child 40358
e6fe6fc1f516
equal deleted inserted replaced
40311:b28beec32e25 40312:956745ff3ee8
226 { 226 {
227 JabberIq *iq; 227 JabberIq *iq;
228 PurpleXmlNode *query; 228 PurpleXmlNode *query;
229 229
230 if(type == JABBER_IQ_GET) { 230 if(type == JABBER_IQ_GET) {
231 GHashTable *ui_info; 231 PurpleUiInfo *ui_info;
232 const char *ui_name = NULL, *ui_version = NULL; 232 const char *ui_name = NULL, *ui_version = NULL;
233 233
234 iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "jabber:iq:version"); 234 iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "jabber:iq:version");
235 if (from) 235 if (from)
236 purple_xmlnode_set_attrib(iq->node, "to", from); 236 purple_xmlnode_set_attrib(iq->node, "to", from);
238 238
239 query = purple_xmlnode_get_child(iq->node, "query"); 239 query = purple_xmlnode_get_child(iq->node, "query");
240 240
241 ui_info = purple_core_get_ui_info(); 241 ui_info = purple_core_get_ui_info();
242 242
243 if(NULL != ui_info) { 243 if(PURPLE_IS_UI_INFO(ui_info)) {
244 ui_name = g_hash_table_lookup(ui_info, "name"); 244 ui_name = purple_ui_info_get_name(ui_info);
245 ui_version = g_hash_table_lookup(ui_info, "version"); 245 ui_version = purple_ui_info_get_version(ui_info);
246 } 246 }
247 247
248 if(NULL != ui_name && NULL != ui_version) { 248 if(NULL != ui_name && NULL != ui_version) {
249 char *version_complete = g_strdup_printf("%s (libpurple " VERSION ")", ui_version); 249 char *version_complete = g_strdup_printf("%s (libpurple " VERSION ")", ui_version);
250 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "name"), ui_name, -1); 250 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "name"), ui_name, -1);
254 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "name"), "libpurple", -1); 254 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "name"), "libpurple", -1);
255 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "version"), VERSION, -1); 255 purple_xmlnode_insert_data(purple_xmlnode_new_child(query, "version"), VERSION, -1);
256 } 256 }
257 257
258 jabber_iq_send(iq); 258 jabber_iq_send(iq);
259
260 if(PURPLE_IS_UI_INFO(ui_info)) {
261 g_object_unref(G_OBJECT(ui_info));
262 }
259 } 263 }
260 } 264 }
261 265
262 void jabber_iq_remove_callback_by_id(JabberStream *js, const char *id) 266 void jabber_iq_remove_callback_by_id(JabberStream *js, const char *id)
263 { 267 {

mercurial