19784
|
1 /**
|
|
2 * @file contact.h Header file for contact.c
|
|
3 * Author
|
|
4 * MaYuan<mayuan2006@gmail.com>
|
|
5 * gaim
|
|
6 *
|
|
7 * Gaim is the legal property of its developers, whose names are too numerous
|
|
8 * to list here. Please refer to the COPYRIGHT file distributed with this
|
|
9 * source distribution.
|
|
10 *
|
|
11 * This program is free software; you can redistribute it and/or modify
|
|
12 * it under the terms of the GNU General Public License as published by
|
|
13 * the Free Software Foundation; either version 2 of the License, or
|
|
14 * (at your option) any later version.
|
|
15 *
|
|
16 * This program is distributed in the hope that it will be useful,
|
|
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19 * GNU General Public License for more details.
|
|
20 *
|
|
21 * You should have received a copy of the GNU General Public License
|
|
22 * along with this program; if not, write to the Free Software
|
|
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
24 */
|
|
25 #ifndef _MSN_CONTACT_H_
|
|
26 #define _MSN_CONTACT_H_
|
|
27
|
|
28 #define MSN_CONTACT_SERVER "contacts.msn.com"
|
|
29
|
19788
|
30 /*get contact list soap request template*/
|
19784
|
31 #define MSN_GET_CONTACT_POST_URL "/abservice/SharingService.asmx"
|
19785
|
32 #define MSN_GET_CONTACT_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/FindMembership"
|
19784
|
33 #define MSN_GET_CONTACT_TEMPLATE "<?xml version='1.0' encoding='utf-8'?>"\
|
|
34 "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
|
|
35 "<soap:Header xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
|
|
36 "<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
37 "<ApplicationId xmlns=\"http://www.msn.com/webservices/AddressBook\">09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId>"\
|
|
38 "<IsMigration xmlns=\"http://www.msn.com/webservices/AddressBook\">false</IsMigration>"\
|
|
39 "<PartnerScenario xmlns=\"http://www.msn.com/webservices/AddressBook\">Initial</PartnerScenario>"\
|
|
40 "</ABApplicationHeader>"\
|
|
41 "<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
42 "<ManagedGroupRequest xmlns=\"http://www.msn.com/webservices/AddressBook\">false</ManagedGroupRequest>"\
|
|
43 "</ABAuthHeader>"\
|
|
44 "</soap:Header>"\
|
|
45 "<soap:Body xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
|
|
46 "<FindMembership xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
47 "<serviceFilter xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
48 "<Types xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
49 "<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Messenger</ServiceType>"\
|
|
50 "<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Invitation</ServiceType>"\
|
|
51 "<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">SocialNetwork</ServiceType>"\
|
|
52 "<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Space</ServiceType>"\
|
|
53 "<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Profile</ServiceType>"\
|
|
54 "</Types>"\
|
|
55 "</serviceFilter>"\
|
|
56 "</FindMembership>"\
|
|
57 "</soap:Body>"\
|
|
58 "</soap:Envelope>"
|
|
59
|
19788
|
60 /*get addressbook soap request template*/
|
19785
|
61 #define MSN_GET_ADDRESS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll"
|
|
62 #define MSN_GET_ADDRESS_POST_URL "/abservice/abservice.asmx"
|
|
63 #define MSN_GET_ADDRESS_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
|
19784
|
64 "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
|
|
65 "<soap:Header>"\
|
|
66 "<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
67 "<ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId>"\
|
|
68 "<IsMigration>false</IsMigration>"\
|
|
69 "<PartnerScenario>Initial</PartnerScenario>"\
|
|
70 "</ABApplicationHeader>"\
|
|
71 "<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
72 "<ManagedGroupRequest>false</ManagedGroupRequest>"\
|
|
73 "</ABAuthHeader>"\
|
|
74 "</soap:Header>"\
|
|
75 "<soap:Body>"\
|
|
76 "<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
77 "<abId>00000000-0000-0000-0000-000000000000</abId>"\
|
|
78 "<abView>Full</abView>"\
|
|
79 "</ABFindAll>"\
|
|
80 "</soap:Body>"\
|
|
81 "</soap:Envelope>"
|
|
82
|
19788
|
83 /*Gleams SOAP request template*/
|
19790
|
84 #define MSN_GLEAMS_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
|
19784
|
85 "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
|
|
86 "<soap:Header>"\
|
|
87 "<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
88 "<ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId>"\
|
|
89 "<IsMigration>false</IsMigration>"\
|
|
90 "<PartnerScenario>Initial</PartnerScenario>"\
|
|
91 "</ABApplicationHeader>"\
|
|
92 "<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
93 "<ManagedGroupRequest>false</ManagedGroupRequest>"\
|
|
94 "</ABAuthHeader>"\
|
|
95 "</soap:Header>"\
|
|
96 "<soap:Body>"\
|
|
97 "<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
|
|
98 "<abId>00000000-0000-0000-0000-000000000000</abId>"\
|
|
99 "<abView>Full</abView>"\
|
|
100 "<dynamicItemView>Gleam</dynamicItemView>"\
|
|
101 "<dynamicItemLastChange>0001-01-01T00:00:00.0000000-08:00</dynamicItemLastChange>"\
|
|
102 "</ABFindAll>"\
|
|
103 "</soap:Body>"\
|
|
104 "</soap:Envelope>"
|
|
105
|
19788
|
106 /*add conatct soap request*/
|
19785
|
107 #define MSN_CONTACT_ADD_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABContactAdd"
|
|
108 #define MSN_CONTACT_XML "<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\"><contactInfo><contactType>LivePending</contactType><passportName>%s</passportName><isMessengerUser>true</isMessengerUser></contactInfo></Contact>"
|
|
109
|
|
110 #define MSN_ADD_CONTACT_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"><soap:Header><ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId><IsMigration>false</IsMigration><PartnerScenario>ContactSave</PartnerScenario></ABApplicationHeader><ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ManagedGroupRequest>false</ManagedGroupRequest></ABAuthHeader></soap:Header><soap:Body><ABContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\"><abId>00000000-0000-0000-0000-000000000000</abId><contacts>%s</contacts><options><EnableAllowListManagement>true</EnableAllowListManagement></options></ABContactAdd></soap:Body></soap:Envelope>"
|
|
111
|
19788
|
112 /*delete contact from contact list soap request template*/
|
19785
|
113 #define MSN_CONTACT_DEL_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABContactDelete"
|
|
114 #define MSN_CONTACTS_DEL "<Contact><contactId>5e8a2e64-c271-443f-ac86-2429f3ffd18a</contactId></Contact>"
|
|
115 #define MSN_DEL_CONTACT_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"><soap:Header><ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId><IsMigration>false</IsMigration><PartnerScenario>Timer</PartnerScenario></ABApplicationHeader><ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ManagedGroupRequest>false</ManagedGroupRequest></ABAuthHeader></soap:Header><soap:Body><ABContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\"><abId>00000000-0000-0000-0000-000000000000</abId><contacts>%s</contacts></ABContactDelete></soap:Body></soap:Envelope>"
|
|
116
|
|
117 #define MSN_MEMBER_TEMPLATE "<Member xsi:type=\"PassportMember\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Type>Passport</Type><State>Accepted</State><PassportName>%s</PassportName></Member>"
|
|
118
|
|
119 /*block means add contact to block list*/
|
|
120 #define MSN_CONTACT_BLOCK_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/AddMember"
|
|
121 #define MSN_BLOCK_CONTACT_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"><soap:Header><ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId><IsMigration>false</IsMigration><PartnerScenario>BlockUnblock</PartnerScenario></ABApplicationHeader><ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ManagedGroupRequest>false</ManagedGroupRequest></ABAuthHeader></soap:Header><soap:Body><AddMember xmlns=\"http://www.msn.com/webservices/AddressBook\"><serviceHandle><Id>0</Id><Type>Messenger</Type><ForeignId></ForeignId></serviceHandle><memberships><Membership><MemberRole>Block</MemberRole><Members>%s</Members></Membership></memberships></AddMember></soap:Body></soap:Envelope>"
|
|
122
|
|
123 /*unblock means delete contact to block list*/
|
|
124 #define MSN_CONTACT_UNBLOCK_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/DeleteMember"
|
|
125 #define MSN_UNBLOCK_CONTACT_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"><soap:Header><ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ApplicationId>09607671-1C32-421F-A6A6-CBFAA51AB5F4</ApplicationId><IsMigration>false</IsMigration><PartnerScenario>BlockUnblock</PartnerScenario></ABApplicationHeader><ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\"><ManagedGroupRequest>false</ManagedGroupRequest></ABAuthHeader></soap:Header><soap:Body><DeleteMember xmlns=\"http://www.msn.com/webservices/AddressBook\"><serviceHandle><Id>0</Id><Type>Messenger</Type><ForeignId></ForeignId></serviceHandle><memberships><Membership><MemberRole>Block</MemberRole><Members>%s</Members></Membership></memberships></DeleteMember></soap:Body></soap:Envelope>"
|
|
126
|
19784
|
127 typedef struct _MsnContact MsnContact;
|
|
128
|
|
129 struct _MsnContact
|
|
130 {
|
|
131 MsnSession *session;
|
|
132
|
|
133 MsnSoapConn *soapconn;
|
|
134 };
|
|
135
|
|
136 /*function prototype*/
|
|
137 MsnContact * msn_contact_new(MsnSession *session);
|
19785
|
138 void msn_contact_destroy(MsnContact *contact);
|
19784
|
139
|
19785
|
140 void msn_contact_connect(MsnContact *contact);
|
19784
|
141 void msn_get_contact_list(MsnContact * contact);
|
19785
|
142 void msn_get_address_book(MsnContact *contact);
|
19784
|
143
|
|
144 #endif/* _MSN_CMDPROC_H_*/
|
|
145
|