comparison libpurple/protocols/msn/contact.c @ 23300:5cdd93dac7a2

Delete trailing whitespace
author Mark Doliner <mark@kingant.net>
date Fri, 06 Jun 2008 22:46:04 +0000
parents f62a4a7fe365
children 1ac5faa72c8d
comparison
equal deleted inserted replaced
23299:b2f91d7d3427 23300:5cdd93dac7a2
1 /** 1 /**
2 * @file contact.c 2 * @file contact.c
3 * get MSN contacts via SOAP request 3 * get MSN contacts via SOAP request
4 * created by MaYuan<mayuan2006@gmail.com> 4 * created by MaYuan<mayuan2006@gmail.com>
5 * 5 *
6 * purple 6 * purple
7 * 7 *
78 MsnCallbackState *state = g_new0(MsnCallbackState, 1); 78 MsnCallbackState *state = g_new0(MsnCallbackState, 1);
79 79
80 state->session = session; 80 state->session = session;
81 81
82 return state; 82 return state;
83 } 83 }
84 84
85 void 85 void
86 msn_callback_state_free(MsnCallbackState *state) 86 msn_callback_state_free(MsnCallbackState *state)
87 { 87 {
88 if (state == NULL) 88 if (state == NULL)
215 215
216 g_return_if_fail(contact != NULL); 216 g_return_if_fail(contact != NULL);
217 g_return_if_fail(contact->session != NULL); 217 g_return_if_fail(contact->session != NULL);
218 g_return_if_fail(contact->session->user != NULL); 218 g_return_if_fail(contact->session->user != NULL);
219 g_return_if_fail(contact->session->user->passport != NULL); 219 g_return_if_fail(contact->session->user->passport != NULL);
220 220
221 purple_debug_info("msnab","Creating an Address Book.\n"); 221 purple_debug_info("msnab","Creating an Address Book.\n");
222 222
223 body = g_strdup_printf(MSN_ADD_ADDRESSBOOK_TEMPLATE, contact->session->user->passport); 223 body = g_strdup_printf(MSN_ADD_ADDRESSBOOK_TEMPLATE, contact->session->user->passport);
224 224
225 msn_soap_message_send(contact->session, 225 msn_soap_message_send(contact->session,
245 245
246 if (member_id) { 246 if (member_id) {
247 user->membership_id[list] = atoi(member_id); 247 user->membership_id[list] = atoi(member_id);
248 } 248 }
249 249
250 msn_got_lst_user(session, user, 1 << list, NULL); 250 msn_got_lst_user(session, user, 1 << list, NULL);
251 251
252 g_free(passport); 252 g_free(passport);
253 g_free(type); 253 g_free(type);
254 g_free(member_id); 254 g_free(member_id);
255 } 255 }
267 } else if (g_str_equal(type_str, "Messenger")) { 267 } else if (g_str_equal(type_str, "Messenger")) {
268 xmlnode *lastchange = xmlnode_get_child(service, "LastChange"); 268 xmlnode *lastchange = xmlnode_get_child(service, "LastChange");
269 char *lastchange_str = xmlnode_get_data(lastchange); 269 char *lastchange_str = xmlnode_get_data(lastchange);
270 xmlnode *membership; 270 xmlnode *membership;
271 271
272 purple_debug_info("msncl","last change: %s\n", lastchange_str); 272 purple_debug_info("msncl","last change: %s\n", lastchange_str);
273 purple_account_set_string(session->account, "CLLastChange", 273 purple_account_set_string(session->account, "CLLastChange",
274 lastchange_str); 274 lastchange_str);
275 275
276 for (membership = msn_soap_xml_get(service, 276 for (membership = msn_soap_xml_get(service,
277 "Memberships/Membership"); 277 "Memberships/Membership");
478 478
479 phone_type = xmlnode_get_data(contact_phone_type); 479 phone_type = xmlnode_get_data(contact_phone_type);
480 480
481 if (phone_type && !strcmp(phone_type, "ContactPhoneMobile")) { 481 if (phone_type && !strcmp(phone_type, "ContactPhoneMobile")) {
482 xmlnode *number; 482 xmlnode *number;
483 483
484 if ((number = xmlnode_get_child(contact_phone, "number"))) { 484 if ((number = xmlnode_get_child(contact_phone, "number"))) {
485 xmlnode *messenger_enabled; 485 xmlnode *messenger_enabled;
486 char *is_messenger_enabled = NULL; 486 char *is_messenger_enabled = NULL;
487 487
488 g_free(mobile_number); 488 g_free(mobile_number);
489 mobile_number = xmlnode_get_data(number); 489 mobile_number = xmlnode_get_data(number);
490 490
491 if (mobile_number && 491 if (mobile_number &&
492 (messenger_enabled = xmlnode_get_child(contact_phone, "isMessengerEnabled")) 492 (messenger_enabled = xmlnode_get_child(contact_phone, "isMessengerEnabled"))
493 && (is_messenger_enabled = xmlnode_get_data(messenger_enabled)) 493 && (is_messenger_enabled = xmlnode_get_data(messenger_enabled))
494 && !strcmp(is_messenger_enabled, "true")) 494 && !strcmp(is_messenger_enabled, "true"))
495 mobile = TRUE; 495 mobile = TRUE;
496 496
497 g_free(is_messenger_enabled); 497 g_free(is_messenger_enabled);
498 } 498 }
677 677
678 if ((faultnode = msn_soap_xml_get(fault, "detail/errorcode"))) { 678 if ((faultnode = msn_soap_xml_get(fault, "detail/errorcode"))) {
679 gchar *errorcode = xmlnode_get_data(faultnode); 679 gchar *errorcode = xmlnode_get_data(faultnode);
680 680
681 purple_debug_info("MSNAB", "Error Code: %s\n", errorcode); 681 purple_debug_info("MSNAB", "Error Code: %s\n", errorcode);
682 682
683 if (g_str_equal(errorcode, "ABDoesNotExist")) { 683 if (g_str_equal(errorcode, "ABDoesNotExist")) {
684 g_free(errorcode); 684 g_free(errorcode);
685 return TRUE; 685 return TRUE;
686 } 686 }
687 g_free(errorcode); 687 g_free(errorcode);
821 g_return_if_fail(session != NULL); 821 g_return_if_fail(session != NULL);
822 822
823 if (resp != NULL) { 823 if (resp != NULL) {
824 MsnUserList *userlist = session->userlist; 824 MsnUserList *userlist = session->userlist;
825 MsnUser *user; 825 MsnUser *user;
826 826
827 purple_debug_info("MSNCL","Contact added successfully\n"); 827 purple_debug_info("MSNCL","Contact added successfully\n");
828 828
829 // the code this block is replacing didn't send ADL for yahoo contacts, 829 // the code this block is replacing didn't send ADL for yahoo contacts,
830 // but i haven't confirmed this is WLM's behaviour wrt yahoo contacts 830 // but i haven't confirmed this is WLM's behaviour wrt yahoo contacts
831 if ( !msn_user_is_yahoo(session->account, state->who) ) { 831 if ( !msn_user_is_yahoo(session->account, state->who) ) {
919 919
920 msn_callback_state_free(state); 920 msn_callback_state_free(state);
921 } 921 }
922 922
923 void 923 void
924 msn_add_contact_to_group(MsnContact *contact, MsnCallbackState *state, 924 msn_add_contact_to_group(MsnContact *contact, MsnCallbackState *state,
925 const char *passport, const char *groupId) 925 const char *passport, const char *groupId)
926 { 926 {
927 MsnUserList *userlist; 927 MsnUserList *userlist;
928 MsnUser *user; 928 MsnUser *user;
929 gchar *body = NULL, *contact_xml; 929 gchar *body = NULL, *contact_xml;
932 g_return_if_fail(groupId != NULL); 932 g_return_if_fail(groupId != NULL);
933 933
934 g_return_if_fail(contact != NULL); 934 g_return_if_fail(contact != NULL);
935 g_return_if_fail(contact->session != NULL); 935 g_return_if_fail(contact->session != NULL);
936 g_return_if_fail(contact->session->userlist != NULL); 936 g_return_if_fail(contact->session->userlist != NULL);
937 937
938 userlist = contact->session->userlist; 938 userlist = contact->session->userlist;
939 939
940 if (!strcmp(groupId, MSN_INDIVIDUALS_GROUP_ID) || !strcmp(groupId, MSN_NON_IM_GROUP_ID)) { 940 if (!strcmp(groupId, MSN_INDIVIDUALS_GROUP_ID) || !strcmp(groupId, MSN_NON_IM_GROUP_ID)) {
941 941
942 user = msn_userlist_find_add_user(userlist, passport, passport); 942 user = msn_userlist_find_add_user(userlist, passport, passport);
943 943
944 if (state->action & MSN_ADD_BUDDY) { 944 if (state->action & MSN_ADD_BUDDY) {
945 msn_add_contact(contact, state, passport); 945 msn_add_contact(contact, state, passport);
946 return; 946 return;
954 } 954 }
955 955
956 return; 956 return;
957 } 957 }
958 958
959 purple_debug_info("MSNCL", "Adding user %s to group %s\n", passport, 959 purple_debug_info("MSNCL", "Adding user %s to group %s\n", passport,
960 msn_userlist_find_group_name(userlist, groupId)); 960 msn_userlist_find_group_name(userlist, groupId));
961 961
962 user = msn_userlist_find_user(userlist, passport); 962 user = msn_userlist_find_user(userlist, passport);
963 if (user == NULL) { 963 if (user == NULL) {
964 purple_debug_warning("MSNCL", "Unable to retrieve user %s from the userlist!\n", passport); 964 purple_debug_warning("MSNCL", "Unable to retrieve user %s from the userlist!\n", passport);
965 msn_callback_state_free(state); 965 msn_callback_state_free(state);
966 return; /* guess this never happened! */ 966 return; /* guess this never happened! */
967 } 967 }
968 968
969 if (user != NULL && user->uid != NULL) { 969 if (user != NULL && user->uid != NULL) {
970 contact_xml = g_strdup_printf(MSN_CONTACT_ID_XML, user->uid); 970 contact_xml = g_strdup_printf(MSN_CONTACT_ID_XML, user->uid);
1005 } 1005 }
1006 1006
1007 /*delete a Contact*/ 1007 /*delete a Contact*/
1008 void 1008 void
1009 msn_delete_contact(MsnContact *contact, const char *contactId) 1009 msn_delete_contact(MsnContact *contact, const char *contactId)
1010 { 1010 {
1011 gchar *body = NULL; 1011 gchar *body = NULL;
1012 gchar *contact_id_xml = NULL ; 1012 gchar *contact_id_xml = NULL ;
1013 MsnCallbackState *state; 1013 MsnCallbackState *state;
1014 1014
1015 g_return_if_fail(contactId != NULL); 1015 g_return_if_fail(contactId != NULL);
1043 purple_debug_info("MSNCL", "Contact %s deleted successfully from group %s\n", state->who, state->old_group_name); 1043 purple_debug_info("MSNCL", "Contact %s deleted successfully from group %s\n", state->who, state->old_group_name);
1044 } else { 1044 } else {
1045 purple_debug_info("MSNCL", "Contact %s deleted successfully from group %s in the server, but failed in the local list\n", state->who, state->old_group_name); 1045 purple_debug_info("MSNCL", "Contact %s deleted successfully from group %s in the server, but failed in the local list\n", state->who, state->old_group_name);
1046 } 1046 }
1047 } 1047 }
1048 1048
1049 msn_callback_state_free(state); 1049 msn_callback_state_free(state);
1050 } 1050 }
1051 1051
1052 void 1052 void
1053 msn_del_contact_from_group(MsnContact *contact, const char *passport, const char *group_name) 1053 msn_del_contact_from_group(MsnContact *contact, const char *passport, const char *group_name)
1055 MsnUserList * userlist; 1055 MsnUserList * userlist;
1056 MsnUser *user; 1056 MsnUser *user;
1057 MsnCallbackState *state; 1057 MsnCallbackState *state;
1058 gchar *body, *contact_id_xml; 1058 gchar *body, *contact_id_xml;
1059 const gchar *groupId; 1059 const gchar *groupId;
1060 1060
1061 g_return_if_fail(passport != NULL); 1061 g_return_if_fail(passport != NULL);
1062 g_return_if_fail(group_name != NULL); 1062 g_return_if_fail(group_name != NULL);
1063 g_return_if_fail(contact != NULL); 1063 g_return_if_fail(contact != NULL);
1064 g_return_if_fail(contact->session != NULL); 1064 g_return_if_fail(contact->session != NULL);
1065 g_return_if_fail(contact->session->userlist != NULL); 1065 g_return_if_fail(contact->session->userlist != NULL);
1066 1066
1067 userlist = contact->session->userlist; 1067 userlist = contact->session->userlist;
1068 1068
1069 groupId = msn_userlist_find_group_id(userlist, group_name); 1069 groupId = msn_userlist_find_group_id(userlist, group_name);
1070 if (groupId != NULL) { 1070 if (groupId != NULL) {
1071 purple_debug_info("MSNCL", "Deleting user %s from group %s\n", passport, group_name); 1071 purple_debug_info("MSNCL", "Deleting user %s from group %s\n", passport, group_name);
1072 } else { 1072 } else {
1073 purple_debug_warning("MSNCL", "Unable to retrieve group id from group %s !\n", group_name); 1073 purple_debug_warning("MSNCL", "Unable to retrieve group id from group %s !\n", group_name);
1074 return; 1074 return;
1075 } 1075 }
1076 1076
1077 user = msn_userlist_find_user(userlist, passport); 1077 user = msn_userlist_find_user(userlist, passport);
1078 1078
1079 if (user == NULL) { 1079 if (user == NULL) {
1080 purple_debug_warning("MSNCL", "Unable to retrieve user from passport %s!\n", passport); 1080 purple_debug_warning("MSNCL", "Unable to retrieve user from passport %s!\n", passport);
1081 return; 1081 return;
1082 } 1082 }
1083 1083
1097 msn_soap_message_send(contact->session, 1097 msn_soap_message_send(contact->session,
1098 msn_soap_message_new(MSN_CONTACT_DEL_GROUP_SOAP_ACTION, 1098 msn_soap_message_new(MSN_CONTACT_DEL_GROUP_SOAP_ACTION,
1099 xmlnode_from_str(body, -1)), 1099 xmlnode_from_str(body, -1)),
1100 MSN_CONTACT_SERVER, MSN_ADDRESS_BOOK_POST_URL, 1100 MSN_CONTACT_SERVER, MSN_ADDRESS_BOOK_POST_URL,
1101 msn_del_contact_from_group_read_cb, state); 1101 msn_del_contact_from_group_read_cb, state);
1102 1102
1103 g_free(contact_id_xml); 1103 g_free(contact_id_xml);
1104 g_free(body); 1104 g_free(body);
1105 } 1105 }
1106 1106
1107 1107
1196 partner_scenario = MSN_PS_CONTACT_API; 1196 partner_scenario = MSN_PS_CONTACT_API;
1197 member = g_strdup_printf(MSN_MEMBER_MEMBERSHIPID_XML, user->membership_id[MSN_LIST_PL]); 1197 member = g_strdup_printf(MSN_MEMBER_MEMBERSHIPID_XML, user->membership_id[MSN_LIST_PL]);
1198 } else { 1198 } else {
1199 /* list == MSN_LIST_AL || list == MSN_LIST_BL */ 1199 /* list == MSN_LIST_AL || list == MSN_LIST_BL */
1200 partner_scenario = MSN_PS_BLOCK_UNBLOCK; 1200 partner_scenario = MSN_PS_BLOCK_UNBLOCK;
1201 1201
1202 member = g_strdup_printf(MSN_MEMBER_PASSPORT_XML, passport); 1202 member = g_strdup_printf(MSN_MEMBER_PASSPORT_XML, passport);
1203 } 1203 }
1204 1204
1205 body = g_strdup_printf( MSN_CONTACT_DELECT_FROM_LIST_TEMPLATE, 1205 body = g_strdup_printf( MSN_CONTACT_DELECT_FROM_LIST_TEMPLATE,
1206 MsnSoapPartnerScenarioText[partner_scenario], 1206 MsnSoapPartnerScenarioText[partner_scenario],
1224 MsnCallbackState *state = data; 1224 MsnCallbackState *state = data;
1225 1225
1226 g_return_if_fail(state != NULL); 1226 g_return_if_fail(state != NULL);
1227 g_return_if_fail(state->session != NULL); 1227 g_return_if_fail(state->session != NULL);
1228 g_return_if_fail(state->session->contact != NULL); 1228 g_return_if_fail(state->session->contact != NULL);
1229 1229
1230 if (resp != NULL) { 1230 if (resp != NULL) {
1231 purple_debug_info("MSN CL", "Contact %s added successfully to %s list on server!\n", state->who, MsnMemberRole[state->list_id]); 1231 purple_debug_info("MSN CL", "Contact %s added successfully to %s list on server!\n", state->who, MsnMemberRole[state->list_id]);
1232 1232
1233 if (state->list_id == MSN_LIST_RL) { 1233 if (state->list_id == MSN_LIST_RL) {
1234 MsnUser *user = msn_userlist_find_user(state->session->userlist, state->who); 1234 MsnUser *user = msn_userlist_find_user(state->session->userlist, state->who);
1235 1235
1236 if (user != NULL) { 1236 if (user != NULL) {
1237 msn_user_set_op(user, MSN_LIST_RL_OP); 1237 msn_user_set_op(user, MSN_LIST_RL_OP);
1238 } 1238 }
1239 1239
1240 if (state->action & MSN_DENIED_BUDDY) { 1240 if (state->action & MSN_DENIED_BUDDY) {
1272 1272
1273 partner_scenario = (list == MSN_LIST_RL) ? MSN_PS_CONTACT_API : MSN_PS_BLOCK_UNBLOCK; 1273 partner_scenario = (list == MSN_LIST_RL) ? MSN_PS_CONTACT_API : MSN_PS_BLOCK_UNBLOCK;
1274 1274
1275 member = g_strdup_printf(MSN_MEMBER_PASSPORT_XML, state->who); 1275 member = g_strdup_printf(MSN_MEMBER_PASSPORT_XML, state->who);
1276 1276
1277 body = g_strdup_printf(MSN_CONTACT_ADD_TO_LIST_TEMPLATE, 1277 body = g_strdup_printf(MSN_CONTACT_ADD_TO_LIST_TEMPLATE,
1278 MsnSoapPartnerScenarioText[partner_scenario], 1278 MsnSoapPartnerScenarioText[partner_scenario],
1279 MsnMemberRole[list], 1279 MsnMemberRole[list],
1280 member); 1280 member);
1281 1281
1282 msn_soap_message_send(contact->session, 1282 msn_soap_message_send(contact->session,
1283 msn_soap_message_new(MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION, 1283 msn_soap_message_new(MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION,
1284 xmlnode_from_str(body, -1)), 1284 xmlnode_from_str(body, -1)),
1321 1321
1322 static void 1322 static void
1323 msn_group_read_cb(MsnSoapMessage *req, MsnSoapMessage *resp, gpointer data) 1323 msn_group_read_cb(MsnSoapMessage *req, MsnSoapMessage *resp, gpointer data)
1324 { 1324 {
1325 MsnCallbackState *state = data; 1325 MsnCallbackState *state = data;
1326 1326
1327 purple_debug_info("MSNCL", "Group request successful.\n"); 1327 purple_debug_info("MSNCL", "Group request successful.\n");
1328 1328
1329 g_return_if_fail(state->session != NULL); 1329 g_return_if_fail(state->session != NULL);
1330 g_return_if_fail(state->session->userlist != NULL); 1330 g_return_if_fail(state->session->userlist != NULL);
1331 g_return_if_fail(state->session->contact != NULL); 1331 g_return_if_fail(state->session->contact != NULL);
1332 1332
1333 if (resp == NULL) { 1333 if (resp == NULL) {
1336 } 1336 }
1337 1337
1338 if (state) { 1338 if (state) {
1339 MsnSession *session = state->session; 1339 MsnSession *session = state->session;
1340 MsnUserList *userlist = session->userlist; 1340 MsnUserList *userlist = session->userlist;
1341 1341
1342 if (state->action & MSN_RENAME_GROUP) { 1342 if (state->action & MSN_RENAME_GROUP) {
1343 msn_userlist_rename_group_id(session->userlist, 1343 msn_userlist_rename_group_id(session->userlist,
1344 state->guid, 1344 state->guid,
1345 state->new_group_name); 1345 state->new_group_name);
1346 } 1346 }
1347 1347
1348 if (state->action & MSN_ADD_GROUP) { 1348 if (state->action & MSN_ADD_GROUP) {
1349 /* the response is taken from 1349 /* the response is taken from
1350 http://telepathy.freedesktop.org/wiki/Pymsn/MSNP/ContactListActions 1350 http://telepathy.freedesktop.org/wiki/Pymsn/MSNP/ContactListActions
1351 should copy it to msnpiki some day */ 1351 should copy it to msnpiki some day */
1352 xmlnode *guid_node = msn_soap_xml_get(resp->xml, 1352 xmlnode *guid_node = msn_soap_xml_get(resp->xml,
1362 if (state->action & MSN_ADD_BUDDY) { 1362 if (state->action & MSN_ADD_BUDDY) {
1363 msn_userlist_add_buddy(session->userlist, 1363 msn_userlist_add_buddy(session->userlist,
1364 state->who, 1364 state->who,
1365 state->new_group_name); 1365 state->new_group_name);
1366 } else if (state->action & MSN_MOVE_BUDDY) { 1366 } else if (state->action & MSN_MOVE_BUDDY) {
1367 msn_add_contact_to_group(session->contact, state, state->who, guid); 1367 msn_add_contact_to_group(session->contact, state, state->who, guid);
1368 g_free(guid); 1368 g_free(guid);
1369 return; 1369 return;
1370 } 1370 }
1371 g_free(guid); 1371 g_free(guid);
1372 } else { 1372 } else {
1373 purple_debug_info("MSNCL", "Adding group %s failed\n", 1373 purple_debug_info("MSNCL", "Adding group %s failed\n",
1374 state->new_group_name); 1374 state->new_group_name);
1375 } 1375 }
1376 } 1376 }
1377 1377
1378 if (state->action & MSN_DEL_GROUP) { 1378 if (state->action & MSN_DEL_GROUP) {
1379 GList *l; 1379 GList *l;
1380 1380
1381 msn_userlist_remove_group_id(session->userlist, state->guid); 1381 msn_userlist_remove_group_id(session->userlist, state->guid);
1382 for (l = userlist->users; l != NULL; l = l->next) { 1382 for (l = userlist->users; l != NULL; l = l->next) {
1383 msn_user_remove_group_id( (MsnUser *)l->data, state->guid); 1383 msn_user_remove_group_id( (MsnUser *)l->data, state->guid);
1384 } 1384 }
1385 } 1385 }
1386 1386
1387 msn_callback_state_free(state); 1387 msn_callback_state_free(state);
1388 } 1388 }
1389 } 1389 }
1390 1390
1391 /* add group */ 1391 /* add group */
1394 { 1394 {
1395 char *body = NULL; 1395 char *body = NULL;
1396 1396
1397 g_return_if_fail(session != NULL); 1397 g_return_if_fail(session != NULL);
1398 g_return_if_fail(group_name != NULL); 1398 g_return_if_fail(group_name != NULL);
1399 1399
1400 purple_debug_info("MSNCL","Adding group %s to contact list.\n", group_name); 1400 purple_debug_info("MSNCL","Adding group %s to contact list.\n", group_name);
1401 1401
1402 if (state == NULL) { 1402 if (state == NULL) {
1403 state = msn_callback_state_new(session); 1403 state = msn_callback_state_new(session);
1404 } 1404 }
1427 MsnCallbackState *state; 1427 MsnCallbackState *state;
1428 char *body = NULL; 1428 char *body = NULL;
1429 const gchar *guid; 1429 const gchar *guid;
1430 1430
1431 g_return_if_fail(session != NULL); 1431 g_return_if_fail(session != NULL);
1432 1432
1433 g_return_if_fail(group_name != NULL); 1433 g_return_if_fail(group_name != NULL);
1434 purple_debug_info("MSNCL","Deleting group %s from contact list\n", group_name); 1434 purple_debug_info("MSNCL","Deleting group %s from contact list\n", group_name);
1435 1435
1436 guid = msn_userlist_find_group_id(session->userlist, group_name); 1436 guid = msn_userlist_find_group_id(session->userlist, group_name);
1437 1437
1438 /* if group uid we need to del is NULL, 1438 /* if group uid we need to del is NULL,
1439 * we need to delete nothing 1439 * we need to delete nothing
1440 */ 1440 */
1441 if (guid == NULL) { 1441 if (guid == NULL) {
1442 purple_debug_info("MSNCL", "Group %s guid not found, returning.\n", group_name); 1442 purple_debug_info("MSNCL", "Group %s guid not found, returning.\n", group_name);
1443 return; 1443 return;
1449 } 1449 }
1450 1450
1451 state = msn_callback_state_new(session); 1451 state = msn_callback_state_new(session);
1452 msn_callback_state_set_action(state, MSN_DEL_GROUP); 1452 msn_callback_state_set_action(state, MSN_DEL_GROUP);
1453 msn_callback_state_set_guid(state, guid); 1453 msn_callback_state_set_guid(state, guid);
1454 1454
1455 body = g_strdup_printf(MSN_GROUP_DEL_TEMPLATE, guid); 1455 body = g_strdup_printf(MSN_GROUP_DEL_TEMPLATE, guid);
1456 1456
1457 msn_soap_message_send(session, 1457 msn_soap_message_send(session,
1458 msn_soap_message_new(MSN_GROUP_DEL_SOAP_ACTION, 1458 msn_soap_message_new(MSN_GROUP_DEL_SOAP_ACTION,
1459 xmlnode_from_str(body, -1)), 1459 xmlnode_from_str(body, -1)),
1468 msn_contact_rename_group(MsnSession *session, const char *old_group_name, const char *new_group_name) 1468 msn_contact_rename_group(MsnSession *session, const char *old_group_name, const char *new_group_name)
1469 { 1469 {
1470 gchar *body = NULL; 1470 gchar *body = NULL;
1471 const gchar * guid; 1471 const gchar * guid;
1472 MsnCallbackState *state; 1472 MsnCallbackState *state;
1473 1473
1474 g_return_if_fail(session != NULL); 1474 g_return_if_fail(session != NULL);
1475 g_return_if_fail(session->userlist != NULL); 1475 g_return_if_fail(session->userlist != NULL);
1476 g_return_if_fail(old_group_name != NULL); 1476 g_return_if_fail(old_group_name != NULL);
1477 g_return_if_fail(new_group_name != NULL); 1477 g_return_if_fail(new_group_name != NULL);
1478 1478
1479 purple_debug_info("MSN CL", "Renaming group %s to %s.\n", old_group_name, new_group_name); 1479 purple_debug_info("MSN CL", "Renaming group %s to %s.\n", old_group_name, new_group_name);
1480 1480
1481 guid = msn_userlist_find_group_id(session->userlist, old_group_name); 1481 guid = msn_userlist_find_group_id(session->userlist, old_group_name);
1482 if (guid == NULL) 1482 if (guid == NULL)
1483 return; 1483 return;
1484 1484
1485 state = msn_callback_state_new(session); 1485 state = msn_callback_state_new(session);
1490 msn_add_group(session, state, new_group_name); 1490 msn_add_group(session, state, new_group_name);
1491 // XXX move every buddy there (we probably need to fix concurrent SOAP reqs first) 1491 // XXX move every buddy there (we probably need to fix concurrent SOAP reqs first)
1492 } 1492 }
1493 1493
1494 msn_callback_state_set_action(state, MSN_RENAME_GROUP); 1494 msn_callback_state_set_action(state, MSN_RENAME_GROUP);
1495 1495
1496 body = g_markup_printf_escaped(MSN_GROUP_RENAME_TEMPLATE, 1496 body = g_markup_printf_escaped(MSN_GROUP_RENAME_TEMPLATE,
1497 guid, new_group_name); 1497 guid, new_group_name);
1498 1498
1499 msn_soap_message_send(session, 1499 msn_soap_message_send(session,
1500 msn_soap_message_new(MSN_GROUP_RENAME_SOAP_ACTION, 1500 msn_soap_message_new(MSN_GROUP_RENAME_SOAP_ACTION,
1501 xmlnode_from_str(body, -1)), 1501 xmlnode_from_str(body, -1)),
1502 MSN_CONTACT_SERVER, MSN_ADDRESS_BOOK_POST_URL, 1502 MSN_CONTACT_SERVER, MSN_ADDRESS_BOOK_POST_URL,
1503 msn_group_read_cb, state); 1503 msn_group_read_cb, state);