# HG changeset patch # User Ma Yuan # Date 1154886111 0 # Node ID 1b48fbbd0e617a6ad6d923e0136bc6135090fcd8 # Parent d55d8050f54d70bcd370ec316e0bfa865d57bfc4 [gaim-migrate @ 16655] add a group add/del contact add/del/block/unblock SOAP Operation Framework Need to finish the content soon comitted by MaYuan committer: Ethan Blanton diff -r d55d8050f54d -r 1b48fbbd0e61 src/protocols/msn/contact.c --- a/src/protocols/msn/contact.c Sun Aug 06 16:20:39 2006 +0000 +++ b/src/protocols/msn/contact.c Sun Aug 06 17:41:51 2006 +0000 @@ -410,7 +410,7 @@ { gaim_debug_info("MaYuan","msn_get_address_book()...\n"); /*build SOAP and POST it*/ - contact->soapconn->login_path = g_strdup(MSN_GET_ADDRESS_POST_URL); + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); contact->soapconn->soap_action = g_strdup(MSN_GET_ADDRESS_SOAP_ACTION); msn_soap_post(contact->soapconn,MSN_GET_ADDRESS_TEMPLATE,msn_address_written_cb); } @@ -420,6 +420,12 @@ msn_add_contact(MsnContact *contact) { gaim_debug_info("MaYuan","msn add a contact...\n"); + + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_CONTACT_ADD_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GET_ADDRESS_TEMPLATE,msn_address_written_cb); + } /*delete a Contact*/ @@ -427,6 +433,10 @@ msn_delete_contact(MsnContact *contact) { gaim_debug_info("MaYuan","msn delete a contact...\n"); + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GET_GLEAMS_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GLEAMS_TEMPLATE,msn_address_written_cb); } /*block a Contact*/ @@ -434,6 +444,10 @@ msn_block_contact(MsnContact *contact) { gaim_debug_info("MaYuan","msn block a contact...\n"); + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GET_GLEAMS_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GLEAMS_TEMPLATE,msn_address_written_cb); } /*unblock a contact*/ @@ -441,6 +455,10 @@ msn_unblock_contact(MsnContact *contact) { gaim_debug_info("MaYuan","msn unblock a contact...\n"); + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GET_GLEAMS_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GLEAMS_TEMPLATE,msn_address_written_cb); } /*get the gleams info*/ @@ -449,11 +467,33 @@ { gaim_debug_info("MaYuan","msn get gleams info...\n"); /*build SOAP and POST it*/ - contact->soapconn->login_path = g_strdup(MSN_GET_ADDRESS_POST_URL); - contact->soapconn->soap_action = g_strdup(MSN_GET_ADDRESS_SOAP_ACTION); + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GET_GLEAMS_SOAP_ACTION); msn_soap_post(contact->soapconn,MSN_GLEAMS_TEMPLATE,msn_address_written_cb); } +void msn_add_group(MsnContact *contact) +{ + gaim_debug_info("MaYuan","msn add group...\n"); + + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GROUP_ADD_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GROUP_ADD_TEMPLATE,msn_address_written_cb); + +} + +void msn_del_group(MsnContact *contact) +{ + gaim_debug_info("MaYuan","msn del group...\n"); + + /*build SOAP and POST it*/ + contact->soapconn->login_path = g_strdup(MSN_ADDRESS_BOOK_POST_URL); + contact->soapconn->soap_action = g_strdup(MSN_GROUP_DEL_SOAP_ACTION); + msn_soap_post(contact->soapconn,MSN_GROUP_DEL_TEMPLATE,msn_address_written_cb); + +} + void msn_contact_connect(MsnContact *contact) { diff -r d55d8050f54d -r 1b48fbbd0e61 src/protocols/msn/contact.h --- a/src/protocols/msn/contact.h Sun Aug 06 16:20:39 2006 +0000 +++ b/src/protocols/msn/contact.h Sun Aug 06 17:41:51 2006 +0000 @@ -57,9 +57,12 @@ ""\ "" +/************************************************ + * Address Book SOAP + * *********************************************/ +#define MSN_ADDRESS_BOOK_POST_URL "/abservice/abservice.asmx" /*get addressbook soap request template*/ #define MSN_GET_ADDRESS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll" -#define MSN_GET_ADDRESS_POST_URL "/abservice/abservice.asmx" #define MSN_GET_ADDRESS_TEMPLATE ""\ ""\ ""\ @@ -81,6 +84,7 @@ "" /*Gleams SOAP request template*/ +#define MSN_GET_GLEAMS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll" #define MSN_GLEAMS_TEMPLATE ""\ ""\ ""\ @@ -103,6 +107,9 @@ ""\ "" +/******************************************************* + * Contact Add/del SOAP Action + *******************************************************/ /*add conatct soap request*/ #define MSN_CONTACT_ADD_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABContactAdd" #define MSN_CONTACT_XML "LivePending%strue" @@ -116,7 +123,11 @@ #define MSN_MEMBER_TEMPLATE "PassportAccepted%s" +/******************************************************* + * Contact Block/Unblock SOAP Action + *******************************************************/ /*block means add contact to block list*/ +#define MSN_SHARE_POST_URL "/abservice/SharingService.asmx" #define MSN_CONTACT_BLOCK_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/AddMember" #define MSN_BLOCK_CONTACT_TEMPLATE "09607671-1C32-421F-A6A6-CBFAA51AB5F4falseBlockUnblockfalse0MessengerBlock%s" @@ -124,6 +135,17 @@ #define MSN_CONTACT_UNBLOCK_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/DeleteMember" #define MSN_UNBLOCK_CONTACT_TEMPLATE "09607671-1C32-421F-A6A6-CBFAA51AB5F4falseBlockUnblockfalse0MessengerBlock%s" +/******************************************************* + * Group SOAP Action + *******************************************************/ +/*add a group*/ +#define MSN_GROUP_ADD_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABGroupAdd" +#define MSN_GROUP_ADD_TEMPLATE "09607671-1C32-421F-A6A6-CBFAA51AB5F4falseGroupSavefalse00000000-0000-0000-0000-000000000000false%sC8529CE2-6EAD-434d-881F-341E17DB3FF8falseMSN.IM.Display1" + +/*delete a group*/ +#define MSN_GROUP_DEL_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABGroupDelete" +#define MSN_GROUP_DEL_TEMPLATE "09607671-1C32-421F-A6A6-CBFAA51AB5F4falseTimerfalse00000000-0000-0000-0000-000000000000%s" + typedef struct _MsnContact MsnContact; struct _MsnContact diff -r d55d8050f54d -r 1b48fbbd0e61 src/protocols/msn/history.c --- a/src/protocols/msn/history.c Sun Aug 06 16:20:39 2006 +0000 +++ b/src/protocols/msn/history.c Sun Aug 06 17:41:51 2006 +0000 @@ -84,3 +84,4 @@ msn_transaction_destroy(trans); } } +