Frameworks/libpurple.framework/Versions/0.6.2/Headers/contact.h
author Zachary West <zacw@adium.im>
Fri Aug 21 13:25:11 2009 -0700 (2009-08-21)
changeset 2592 e8d15275025e
parent 2539 Frameworks/libpurple.framework/Versions/0.6.0/Headers/contact.h@2c9881ea8cdf
permissions -rw-r--r--
im.pidgin.adium.1-4 at 267c6165e02e34318a1823960bd04c0639952f73
Evan@653
     1
/**
Evan@653
     2
 * @file contact.h			Header file for contact.c
Evan@653
     3
 *	Author
Evan@653
     4
 * 		MaYuan<mayuan2006@gmail.com>
Evan@653
     5
 * purple
Evan@653
     6
 *
Evan@653
     7
 * Purple is the legal property of its developers, whose names are too numerous
Evan@653
     8
 * to list here.  Please refer to the COPYRIGHT file distributed with this
Evan@653
     9
 * source distribution.
Evan@653
    10
 *
Evan@653
    11
 * This program is free software; you can redistribute it and/or modify
Evan@653
    12
 * it under the terms of the GNU General Public License as published by
Evan@653
    13
 * the Free Software Foundation; either version 2 of the License, or
Evan@653
    14
 * (at your option) any later version.
Evan@653
    15
 *
Evan@653
    16
 * This program is distributed in the hope that it will be useful,
Evan@653
    17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Evan@653
    18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Evan@653
    19
 * GNU General Public License for more details.
Evan@653
    20
 *
Evan@653
    21
 * You should have received a copy of the GNU General Public License
Evan@653
    22
 * along with this program; if not, write to the Free Software
Evan@653
    23
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Evan@653
    24
 */
Evan@653
    25
#ifndef _MSN_CONTACT_H_
Evan@653
    26
#define _MSN_CONTACT_H_
Evan@653
    27
Evan@653
    28
#include "session.h"
Evan@653
    29
#include "soap.h"
Evan@653
    30
Evan@653
    31
#define MSN_APPLICATION_ID "CFE80F9D-180F-4399-82AB-413F33A1FA11"
Evan@653
    32
Evan@653
    33
#define MSN_CONTACT_SERVER	"omega.contacts.msn.com"
Evan@653
    34
Evan@653
    35
/* Get Contact List */
Evan@653
    36
Evan@653
    37
#define MSN_GET_CONTACT_POST_URL	"/abservice/SharingService.asmx"
Evan@653
    38
#define MSN_GET_CONTACT_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/FindMembership"
Evan@653
    39
Evan@653
    40
#define MSN_GET_CONTACT_UPDATE_XML \
Evan@653
    41
	"<View>Full</View>"\
Evan@653
    42
	"<deltasOnly>true</deltasOnly>"\
Evan@653
    43
	"<lastChange>%s</lastChange>"
Evan@653
    44
Evan@653
    45
#define MSN_GET_CONTACT_TEMPLATE	"<?xml version='1.0' encoding='utf-8'?>"\
Evan@653
    46
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
Evan@653
    47
	"<soap:Header xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
Evan@653
    48
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    49
			"<ApplicationId xmlns=\"http://www.msn.com/webservices/AddressBook\">" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
    50
			"<IsMigration xmlns=\"http://www.msn.com/webservices/AddressBook\">false</IsMigration>"\
Evan@653
    51
			"<PartnerScenario xmlns=\"http://www.msn.com/webservices/AddressBook\">%s</PartnerScenario>"\
Evan@653
    52
		 "</ABApplicationHeader>"\
Evan@653
    53
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    54
			"<ManagedGroupRequest xmlns=\"http://www.msn.com/webservices/AddressBook\">false</ManagedGroupRequest>"\
Evan@770
    55
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
    56
		"</ABAuthHeader>"\
Evan@653
    57
	"</soap:Header>"\
Evan@653
    58
	"<soap:Body xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
Evan@653
    59
		"<FindMembership xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    60
			"<serviceFilter xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    61
				"<Types xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    62
					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Messenger</ServiceType>"\
Evan@653
    63
					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Invitation</ServiceType>"\
Evan@653
    64
					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">SocialNetwork</ServiceType>"\
Evan@653
    65
					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Space</ServiceType>"\
Evan@653
    66
					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Profile</ServiceType>"\
Evan@653
    67
				"</Types>"\
Evan@653
    68
			"</serviceFilter>"\
Evan@653
    69
			"%s"\
Evan@653
    70
		"</FindMembership>"\
Evan@653
    71
	"</soap:Body>"\
Evan@653
    72
"</soap:Envelope>"
Evan@653
    73
Evan@653
    74
/************************************************
Evan@653
    75
 * Address Book SOAP
Evan@653
    76
 * *********************************************/
Evan@653
    77
Evan@653
    78
#define MSN_ADDRESS_BOOK_POST_URL	"/abservice/abservice.asmx"
Evan@653
    79
Evan@653
    80
/* Create AddressBook template */
Evan@653
    81
#define MSN_ADD_ADDRESSBOOK_SOAP_ACTION     "http://www.msn.com/webservices/AddressBook/ABAdd"
Evan@653
    82
Evan@653
    83
#define MSN_ADD_ADDRESSBOOK_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
    84
"<soap:Envelope"\
Evan@653
    85
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
    86
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
    87
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
    88
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
    89
	"<soap:Header>"\
Evan@653
    90
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    91
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
    92
			"<IsMigration>false</IsMigration>"\
Evan@653
    93
			"<PartnerScenario>Initial</PartnerScenario>"\
Evan@653
    94
		"</ABApplicationHeader>"\
Evan@653
    95
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
    96
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@770
    97
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
    98
		"</ABAuthHeader>"\
Evan@653
    99
	"</soap:Header>"\
Evan@653
   100
	"<soap:Body>"\
Evan@653
   101
		"<ABAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   102
			"<abInfo>"\
Evan@653
   103
				"<name/>"\
Evan@653
   104
				"<ownerPuid>0</ownerPuid>"\
Evan@653
   105
				"<ownerEmail>%s</ownerEmail>"\
Evan@653
   106
				"<fDefault>true</fDefault>"\
Evan@653
   107
			"</abInfo>"\
Evan@653
   108
		"</ABAdd>"\
Evan@653
   109
	"</soap:Body>"\
Evan@653
   110
"</soap:Envelope>"
Evan@653
   111
Evan@653
   112
/* Get AddressBook */
Evan@653
   113
#define MSN_GET_ADDRESS_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABFindAll"
Evan@653
   114
#define MSN_GET_ADDRESS_FULL_TIME	"0001-01-01T00:00:00.0000000-08:00"
Evan@653
   115
#define MSN_GET_ADDRESS_UPDATE_XML \
Evan@653
   116
	"<deltasOnly>true</deltasOnly>"\
Evan@653
   117
	"<lastChange>%s</lastChange>"
Evan@653
   118
Evan@653
   119
#define MSN_GET_GLEAM_UPDATE_XML \
Evan@653
   120
	"%s"\
Evan@653
   121
	"<dynamicItemView>Gleam</dynamicItemView>"\
Evan@653
   122
	"<dynamicItemLastChange>%s</dynamicItemLastChange>"
Evan@653
   123
Evan@653
   124
#define MSN_GET_ADDRESS_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   125
"<soap:Envelope"\
Evan@653
   126
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   127
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   128
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   129
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   130
	"<soap:Header>"\
Evan@653
   131
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   132
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   133
			"<IsMigration>false</IsMigration>"\
Evan@653
   134
			"<PartnerScenario>%s</PartnerScenario>"\
Evan@653
   135
		"</ABApplicationHeader>"\
Evan@653
   136
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   137
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@770
   138
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   139
		"</ABAuthHeader>"\
Evan@653
   140
	"</soap:Header>"\
Evan@653
   141
	"<soap:Body>"\
Evan@653
   142
		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   143
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   144
			"<abView>Full</abView>"\
Evan@653
   145
			"%s"\
Evan@653
   146
		"</ABFindAll>"\
Evan@653
   147
	"</soap:Body>"\
Evan@653
   148
"</soap:Envelope>"
Evan@653
   149
Evan@653
   150
Evan@653
   151
/*Gleams SOAP request template*/
Evan@653
   152
#define MSN_GET_GLEAMS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll"
Evan@653
   153
#define MSN_GLEAMS_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   154
"<soap:Envelope"\
Evan@653
   155
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   156
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   157
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   158
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   159
	"<soap:Header>"\
Evan@653
   160
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   161
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   162
			"<IsMigration>false</IsMigration>"\
Evan@653
   163
			"<PartnerScenario>Initial</PartnerScenario>"\
Evan@653
   164
		"</ABApplicationHeader>"\
Evan@653
   165
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   166
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   167
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   168
		"</ABAuthHeader>"\
Evan@653
   169
	"</soap:Header>"\
Evan@653
   170
	"<soap:Body>"\
Evan@653
   171
		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   172
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   173
			"<abView>Full</abView>"\
Evan@653
   174
			"<dynamicItemView>Gleam</dynamicItemView>"\
Evan@653
   175
			"<dynamicItemLastChange>0001-01-01T00:00:00.0000000-08:00</dynamicItemLastChange>"\
Evan@653
   176
		"</ABFindAll>"\
Evan@653
   177
	"</soap:Body>"\
Evan@653
   178
"</soap:Envelope>"
Evan@653
   179
Evan@653
   180
Evan@653
   181
/*******************************************************
Evan@653
   182
 * Contact Management SOAP actions
Evan@653
   183
 *******************************************************/
Evan@653
   184
Evan@653
   185
/* Add a new contact */
Evan@653
   186
#define MSN_CONTACT_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactAdd"
Evan@653
   187
#define MSN_CONTACT_LIVE_PENDING_XML \
Evan@653
   188
	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   189
		"<contactInfo>"\
Evan@653
   190
			"<contactType>LivePending</contactType>"\
Evan@653
   191
			"<passportName>%s</passportName>"\
Evan@653
   192
			"<isMessengerUser>true</isMessengerUser>"\
Evan@653
   193
		"</contactInfo>"\
Evan@653
   194
	"</Contact>"
Evan@653
   195
Evan@653
   196
#define MSN_CONTACT_XML	\
Evan@653
   197
	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   198
		"<contactInfo>"\
Evan@653
   199
			"<passportName>%s</passportName>"\
Evan@653
   200
			"<isSmtp>false</isSmtp>"\
Evan@653
   201
			"<isMessengerUser>true</isMessengerUser>"\
Evan@653
   202
		"</contactInfo>"\
Evan@653
   203
	"</Contact>"
Evan@653
   204
Evan@653
   205
#define MSN_CONTACT_DISPLAYNAME_XML	\
Evan@653
   206
	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   207
		"<contactInfo>"\
Evan@653
   208
			"<displayName>%s</displayName>"\
Evan@653
   209
			"<passportName>%s</passportName>"\
Evan@653
   210
			"<isMessengerUser>true</isMessengerUser>"\
Evan@653
   211
		"</contactInfo>"\
Evan@653
   212
	"</Contact>"
Evan@653
   213
Evan@653
   214
#define MSN_CONTACT_ID_XML \
Evan@653
   215
	"<Contact>"\
Evan@653
   216
		"<contactId>%s</contactId>"\
Evan@653
   217
	"</Contact>"
Evan@653
   218
Evan@653
   219
#define MSN_CONTACT_EMAIL_XML \
Evan@653
   220
	"<Contact>"\
Evan@653
   221
		"<contactInfo>"\
Evan@653
   222
			"<emails>"\
Evan@653
   223
				"<ContactEmail>"\
Evan@653
   224
					"<contactEmailType>%s</contactEmailType>"\
Evan@653
   225
					"<email>%s</email>"\
Evan@653
   226
					"<isMessengerEnabled>true</isMessengerEnabled>"\
Evan@653
   227
					"<Capability>%d</Capability>"\
Evan@653
   228
					"<MessengerEnabledExternally>false</MessengerEnabledExternally>"\
Evan@653
   229
					"<propertiesChanged/>"\
Evan@653
   230
				"</ContactEmail>"\
Evan@653
   231
			"</emails>"\
Evan@653
   232
		"</contactInfo>"\
Evan@653
   233
	"</Contact>"
Evan@653
   234
zacw@2539
   235
#define MSN_CONTACT_INVITE_MESSAGE_XML \
zacw@2539
   236
	"<MessengerMemberInfo>"\
zacw@2539
   237
		"<PendingAnnotations>"\
zacw@2539
   238
			"<Annotation>"\
zacw@2539
   239
				"<Name>MSN.IM.InviteMessage</Name>"\
zacw@2539
   240
				"<Value>%s</Value>"\
zacw@2539
   241
			"</Annotation>"\
zacw@2539
   242
		"</PendingAnnotations>"\
zacw@2539
   243
		"<DisplayName>%s</DisplayName>"\
zacw@2539
   244
	"</MessengerMemberInfo>"
zacw@2539
   245
Evan@653
   246
#define MSN_ADD_CONTACT_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   247
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   248
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   249
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   250
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   251
	"<soap:Header>"\
Evan@653
   252
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   253
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   254
			"<IsMigration>false</IsMigration>"\
Evan@653
   255
			"<PartnerScenario>ContactSave</PartnerScenario>"\
Evan@653
   256
		"</ABApplicationHeader>"\
Evan@653
   257
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   258
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   259
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   260
		"</ABAuthHeader>"\
Evan@653
   261
	"</soap:Header>"\
Evan@653
   262
	"<soap:Body>"\
Evan@653
   263
		"<ABContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   264
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   265
			"<contacts>%s</contacts>"\
Evan@653
   266
			"<options>"\
Evan@653
   267
				"<EnableAllowListManagement>true</EnableAllowListManagement>"\
Evan@653
   268
			"</options>"\
Evan@653
   269
		"</ABContactAdd>"\
Evan@653
   270
	"</soap:Body>"\
Evan@653
   271
"</soap:Envelope>"
Evan@653
   272
Evan@653
   273
/* Add a contact to a group */
Evan@653
   274
#define MSN_ADD_CONTACT_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactAdd"
Evan@653
   275
#define MSN_ADD_CONTACT_GROUP_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   276
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   277
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   278
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   279
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   280
	"<soap:Header>"\
Evan@653
   281
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   282
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   283
			"<IsMigration>false</IsMigration>"\
Evan@653
   284
			"<PartnerScenario>ContactSave</PartnerScenario>"\
Evan@653
   285
		"</ABApplicationHeader>"\
Evan@653
   286
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   287
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   288
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   289
		"</ABAuthHeader>"\
Evan@653
   290
	"</soap:Header>"\
Evan@653
   291
	"<soap:Body>"\
Evan@653
   292
		"<ABGroupContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   293
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   294
			"<groupFilter>"\
Evan@653
   295
				"<groupIds>"\
Evan@653
   296
					"<guid>%s</guid>"\
Evan@653
   297
				"</groupIds>"\
Evan@653
   298
			"</groupFilter>"\
Evan@653
   299
			"<contacts>%s</contacts>"\
Evan@653
   300
			"<groupContactAddOptions>"\
Evan@653
   301
				"<fGenerateMissingQuickName>true</fGenerateMissingQuickName>"\
Evan@653
   302
				"<EnableAllowListManagement>true</EnableAllowListManagement>"\
Evan@653
   303
			"</groupContactAddOptions>"\
zacw@2539
   304
			"%s"\
Evan@653
   305
		"</ABGroupContactAdd>"\
Evan@653
   306
	"</soap:Body>"\
Evan@653
   307
"</soap:Envelope>"
Evan@653
   308
Evan@653
   309
/* Delete a contact from the Contact List */
Evan@653
   310
#define MSN_CONTACT_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactDelete"
Evan@653
   311
#define MSN_DEL_CONTACT_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   312
"<soap:Envelope"\
Evan@653
   313
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   314
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   315
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   316
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   317
	"<soap:Header>"\
Evan@653
   318
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   319
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   320
			"<IsMigration>false</IsMigration>"\
Evan@653
   321
			"<PartnerScenario>Timer</PartnerScenario>"\
Evan@653
   322
		"</ABApplicationHeader>"\
Evan@653
   323
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   324
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   325
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   326
		"</ABAuthHeader>"\
Evan@653
   327
	"</soap:Header>"\
Evan@653
   328
	"<soap:Body>"\
Evan@653
   329
		"<ABContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   330
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   331
			"<contacts>%s</contacts>"\
Evan@653
   332
		"</ABContactDelete>"\
Evan@653
   333
	"</soap:Body>"\
Evan@653
   334
"</soap:Envelope>"
Evan@653
   335
Evan@653
   336
/* Remove a contact from a group */
Evan@653
   337
#define MSN_CONTACT_DEL_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactDelete"
Evan@653
   338
#define MSN_CONTACT_DEL_GROUP_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   339
"<soap:Envelope"\
Evan@653
   340
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   341
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   342
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   343
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   344
	"<soap:Header>"\
Evan@653
   345
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   346
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   347
			"<IsMigration>false</IsMigration>"\
Evan@653
   348
			"<PartnerScenario>Timer</PartnerScenario>"\
Evan@653
   349
		"</ABApplicationHeader>"\
Evan@653
   350
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   351
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   352
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   353
		"</ABAuthHeader>"\
Evan@653
   354
	"</soap:Header>"\
Evan@653
   355
	"<soap:Body>"\
Evan@653
   356
		"<ABGroupContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   357
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   358
			"<contacts>%s</contacts>"\
Evan@653
   359
			"<groupFilter>"\
Evan@653
   360
				"<groupIds>"\
Evan@653
   361
					"<guid>%s</guid>"\
Evan@653
   362
				"</groupIds>"\
Evan@653
   363
			"</groupFilter>"\
Evan@653
   364
		"</ABGroupContactDelete>"\
Evan@653
   365
	"</soap:Body>"\
Evan@653
   366
"</soap:Envelope>"
Evan@653
   367
Evan@653
   368
Evan@653
   369
/* Update Contact Information */
Evan@653
   370
#define MSN_CONTACT_UPDATE_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactUpdate"
Evan@653
   371
#define MSN_CONTACT_UPDATE_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   372
"<soap:Envelope"\
Evan@653
   373
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   374
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   375
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   376
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   377
	"<soap:Header>"\
Evan@653
   378
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   379
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   380
			"<IsMigration>false</IsMigration>"\
Evan@653
   381
			"<PartnerScenario>Timer</PartnerScenario>"\
Evan@653
   382
		"</ABApplicationHeader>"\
Evan@653
   383
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   384
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   385
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   386
		"</ABAuthHeader>"\
Evan@653
   387
	"</soap:Header>"\
Evan@653
   388
	"<soap:Body>"\
Evan@653
   389
		"<ABContactUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   390
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   391
			"<contacts>"\
Evan@653
   392
				"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   393
					""\
Evan@653
   394
				"</Contact>"\
Evan@653
   395
			"</contacts>"\
Evan@653
   396
		"</ABContactUpdate>"\
Evan@653
   397
	"</soap:Body>"\
Evan@653
   398
"</soap:Envelope>"
Evan@653
   399
Evan@653
   400
/*******************************************************
Evan@653
   401
 * Add/Delete contact from lists SOAP actions
Evan@653
   402
 *******************************************************/
Evan@653
   403
Evan@653
   404
/* block means delete from allow list and add contact to block list */
Evan@653
   405
#define MSN_SHARE_POST_URL		"/abservice/SharingService.asmx"
Evan@653
   406
Evan@653
   407
#define MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/AddMember"
Evan@653
   408
#define MSN_DELETE_MEMBER_FROM_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/DeleteMember"
Evan@653
   409
Evan@653
   410
#define MSN_MEMBER_PASSPORT_XML	\
Evan@653
   411
	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
Evan@1427
   412
		"<Type>%s</Type>"\
Evan@653
   413
		"<State>Accepted</State>"\
Evan@1427
   414
		"<%s>%s</%s>"\
Evan@653
   415
	"</Member>"
Evan@653
   416
Evan@653
   417
#define MSN_MEMBER_MEMBERSHIPID_XML	\
Evan@653
   418
	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
Evan@1427
   419
		"<Type>%s</Type>"\
Evan@653
   420
		"<MembershipId>%u</MembershipId>"\
Evan@653
   421
		"<State>Accepted</State>"\
Evan@653
   422
	"</Member>"
Evan@653
   423
Evan@653
   424
/* first delete contact from allow list */
Evan@653
   425
Evan@653
   426
#define MSN_CONTACT_DELETE_FROM_LIST_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   427
"<soap:Envelope"\
Evan@653
   428
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   429
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   430
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   431
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   432
	"<soap:Header>"\
Evan@653
   433
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   434
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   435
			"<IsMigration>false</IsMigration>"\
Evan@653
   436
			"<PartnerScenario>%s</PartnerScenario>"\
Evan@653
   437
		"</ABApplicationHeader>"\
Evan@653
   438
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   439
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   440
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   441
		"</ABAuthHeader>"\
Evan@653
   442
	"</soap:Header>"\
Evan@653
   443
	"<soap:Body>"\
Evan@653
   444
		"<DeleteMember xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   445
			"<serviceHandle>"\
Evan@653
   446
				"<Id>0</Id>"\
Evan@653
   447
				"<Type>Messenger</Type>"\
Evan@653
   448
				"<ForeignId></ForeignId>"\
Evan@653
   449
			"</serviceHandle>"\
Evan@653
   450
			"<memberships>"\
Evan@653
   451
				"<Membership>"\
Evan@653
   452
					"<MemberRole>%s</MemberRole>"\
Evan@653
   453
					"<Members>"\
Evan@653
   454
						"%s"\
Evan@653
   455
					"</Members>"\
Evan@653
   456
				"</Membership>"\
Evan@653
   457
			"</memberships>"\
Evan@653
   458
		"</DeleteMember>"\
Evan@653
   459
	"</soap:Body>"\
Evan@653
   460
"</soap:Envelope>"
Evan@653
   461
Evan@653
   462
#define MSN_CONTACT_ADD_TO_LIST_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   463
"<soap:Envelope"\
Evan@653
   464
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   465
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   466
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   467
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   468
	"<soap:Header>"\
Evan@653
   469
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   470
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   471
			"<IsMigration>false</IsMigration>"\
Evan@653
   472
			"<PartnerScenario>%s</PartnerScenario>"\
Evan@653
   473
		"</ABApplicationHeader>"\
Evan@653
   474
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   475
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   476
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   477
		"</ABAuthHeader>"\
Evan@653
   478
	"</soap:Header>"\
Evan@653
   479
	"<soap:Body>"\
Evan@653
   480
		"<AddMember xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   481
			"<serviceHandle>"\
Evan@653
   482
				"<Id>0</Id>"\
Evan@653
   483
				"<Type>Messenger</Type>"\
Evan@653
   484
				"<ForeignId></ForeignId>"\
Evan@653
   485
			"</serviceHandle>"\
Evan@653
   486
			"<memberships>"\
Evan@653
   487
				"<Membership>"\
Evan@653
   488
					"<MemberRole>%s</MemberRole>"\
Evan@653
   489
					"<Members>"\
Evan@653
   490
						"%s"\
Evan@653
   491
					"</Members>"\
Evan@653
   492
				"</Membership>"\
Evan@653
   493
			"</memberships>"\
Evan@653
   494
		"</AddMember>"\
Evan@653
   495
	"</soap:Body>"\
Evan@653
   496
"</soap:Envelope>"
Evan@653
   497
Evan@653
   498
Evan@653
   499
Evan@653
   500
/*******************************************************
Evan@653
   501
 * Group management SOAP actions
Evan@653
   502
 *******************************************************/
Evan@653
   503
Evan@653
   504
/* add a group */
Evan@653
   505
#define MSN_GROUP_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupAdd"
Evan@653
   506
#define MSN_GROUP_ADD_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   507
"<soap:Envelope"\
Evan@653
   508
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   509
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   510
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   511
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   512
	"<soap:Header>"\
Evan@653
   513
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   514
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   515
			"<IsMigration>false</IsMigration>"\
Evan@653
   516
			"<PartnerScenario>GroupSave</PartnerScenario>"\
Evan@653
   517
		"</ABApplicationHeader>"\
Evan@653
   518
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   519
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   520
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   521
		"</ABAuthHeader>"\
Evan@653
   522
	"</soap:Header>"\
Evan@653
   523
	"<soap:Body>"\
Evan@653
   524
		"<ABGroupAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   525
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   526
			"<groupAddOptions>"\
Evan@653
   527
				"<fRenameOnMsgrConflict>false</fRenameOnMsgrConflict>"\
Evan@653
   528
			"</groupAddOptions>"\
Evan@653
   529
			"<groupInfo>"\
Evan@653
   530
				"<GroupInfo>"\
Evan@653
   531
					"<name>%s</name>"\
Evan@653
   532
					"<groupType>C8529CE2-6EAD-434d-881F-341E17DB3FF8</groupType>"\
Evan@653
   533
					"<fMessenger>false</fMessenger>"\
Evan@653
   534
					"<annotations>"\
Evan@653
   535
						"<Annotation>"\
Evan@653
   536
							"<Name>MSN.IM.Display</Name>"\
Evan@653
   537
							"<Value>1</Value>"\
Evan@653
   538
						"</Annotation>"\
Evan@653
   539
					"</annotations>"\
Evan@653
   540
				"</GroupInfo>"\
Evan@653
   541
			"</groupInfo>"\
Evan@653
   542
		"</ABGroupAdd>"\
Evan@653
   543
	"</soap:Body>"\
Evan@653
   544
"</soap:Envelope>"
Evan@653
   545
Evan@653
   546
/* delete a group */
Evan@653
   547
#define MSN_GROUP_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupDelete"
Evan@653
   548
#define MSN_GROUP_DEL_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   549
"<soap:Envelope"\
Evan@653
   550
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   551
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   552
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   553
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   554
	"<soap:Header>"\
Evan@653
   555
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   556
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   557
			"<IsMigration>false</IsMigration>"\
Evan@653
   558
			"<PartnerScenario>Timer</PartnerScenario>"\
Evan@653
   559
		"</ABApplicationHeader>"\
Evan@653
   560
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   561
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   562
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   563
		"</ABAuthHeader>"\
Evan@653
   564
	"</soap:Header>"\
Evan@653
   565
	"<soap:Body>"\
Evan@653
   566
		"<ABGroupDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   567
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   568
			"<groupFilter>"\
Evan@653
   569
				"<groupIds>"\
Evan@653
   570
					"<guid>%s</guid>"\
Evan@653
   571
				"</groupIds>"\
Evan@653
   572
			"</groupFilter>"\
Evan@653
   573
		"</ABGroupDelete>"\
Evan@653
   574
	"</soap:Body>"\
Evan@653
   575
"</soap:Envelope>"
Evan@653
   576
Evan@653
   577
/* change a group's name */
Evan@653
   578
#define MSN_GROUP_RENAME_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupUpdate"
Evan@653
   579
#define MSN_GROUP_RENAME_TEMPLATE	"<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
Evan@653
   580
"<soap:Envelope"\
Evan@653
   581
	" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""\
Evan@653
   582
	" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""\
Evan@653
   583
	" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""\
Evan@653
   584
	" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">"\
Evan@653
   585
	"<soap:Header>"\
Evan@653
   586
		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   587
			"<ApplicationId>" MSN_APPLICATION_ID "</ApplicationId>"\
Evan@653
   588
			"<IsMigration>false</IsMigration>"\
Evan@653
   589
			"<PartnerScenario>Timer</PartnerScenario>"\
Evan@653
   590
		"</ABApplicationHeader>"\
Evan@653
   591
		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   592
			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
Evan@653
   593
			"<TicketToken>EMPTY</TicketToken>"\
Evan@653
   594
		"</ABAuthHeader>"\
Evan@653
   595
	"</soap:Header>"\
Evan@653
   596
	"<soap:Body>"\
Evan@653
   597
		"<ABGroupUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
Evan@653
   598
			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
Evan@653
   599
			"<groups>"\
Evan@653
   600
				"<Group>"\
Evan@653
   601
					"<groupId>%s</groupId>"\
Evan@653
   602
					"<groupInfo>"\
Evan@653
   603
						"<name>%s</name>"\
Evan@653
   604
					"</groupInfo>"\
Evan@653
   605
					"<propertiesChanged>GroupName </propertiesChanged>"\
Evan@653
   606
				"</Group>"\
Evan@653
   607
			"</groups>"\
Evan@653
   608
		"</ABGroupUpdate>"\
Evan@653
   609
	"</soap:Body>"\
Evan@653
   610
"</soap:Envelope>"
Evan@653
   611
Evan@653
   612
typedef enum
Evan@653
   613
{
Evan@653
   614
	MSN_ADD_BUDDY       = 0x01,
Evan@653
   615
	MSN_MOVE_BUDDY      = 0x02,
Evan@653
   616
	MSN_ACCEPTED_BUDDY  = 0x04,
Evan@653
   617
	MSN_DENIED_BUDDY    = 0x08,
Evan@653
   618
	MSN_ADD_GROUP       = 0x10,
Evan@653
   619
	MSN_DEL_GROUP       = 0x20,
Evan@653
   620
	MSN_RENAME_GROUP    = 0x40,
Evan@653
   621
	MSN_UPDATE_INFO     = 0x80
Evan@653
   622
} MsnCallbackAction;
Evan@653
   623
Evan@770
   624
typedef enum
Evan@770
   625
{
Evan@770
   626
	MSN_PS_INITIAL,
Evan@770
   627
	MSN_PS_SAVE_CONTACT,
Evan@770
   628
	MSN_PS_PENDING_LIST,
Evan@770
   629
	MSN_PS_CONTACT_API,
Evan@770
   630
	MSN_PS_BLOCK_UNBLOCK
Evan@770
   631
} MsnSoapPartnerScenario;
Evan@770
   632
Evan@653
   633
typedef struct _MsnCallbackState MsnCallbackState;
Evan@653
   634
Evan@653
   635
struct _MsnCallbackState
Evan@653
   636
{
Evan@653
   637
	gchar * who;
Evan@653
   638
	gchar * uid;
Evan@653
   639
	gchar * old_group_name;
Evan@653
   640
	gchar * new_group_name;
Evan@653
   641
	gchar * guid;
Evan@653
   642
	MsnListId list_id;
Evan@653
   643
	MsnCallbackAction action;
Evan@653
   644
	MsnSession *session;
Evan@653
   645
	xmlnode *body;
Evan@653
   646
	xmlnode *token;
Evan@653
   647
	const gchar *post_action;
Evan@653
   648
	const gchar *post_url;
Evan@653
   649
	MsnSoapCallback cb;
Evan@770
   650
	/* For msn_get_contact_list only */
Evan@770
   651
	MsnSoapPartnerScenario partner_scenario;
Evan@653
   652
};
Evan@653
   653
Evan@653
   654
typedef enum
Evan@653
   655
{
Evan@653
   656
	MSN_UPDATE_DISPLAY,	/* Real display name */
Evan@653
   657
	MSN_UPDATE_ALIAS,	/* Aliased display name */
Evan@653
   658
	MSN_UPDATE_COMMENT
Evan@653
   659
} MsnContactUpdateType;
Evan@653
   660
Evan@653
   661
/************************************************
Evan@653
   662
 * function prototype
Evan@653
   663
 ************************************************/
Evan@653
   664
MsnCallbackState * msn_callback_state_new(MsnSession *session);
Evan@653
   665
MsnCallbackState * msn_callback_state_dup(MsnCallbackState *state);
Evan@653
   666
void msn_callback_state_free(MsnCallbackState *state);
Evan@653
   667
void msn_callback_state_set_who(MsnCallbackState *state, const gchar *who);
Evan@653
   668
void msn_callback_state_set_uid(MsnCallbackState *state, const gchar *uid);
Evan@653
   669
void msn_callback_state_set_old_group_name(MsnCallbackState *state,
Evan@653
   670
					   const gchar *old_group_name);
Evan@653
   671
void msn_callback_state_set_new_group_name(MsnCallbackState *state,
Evan@653
   672
					   const gchar *new_group_name);
Evan@653
   673
void msn_callback_state_set_guid(MsnCallbackState *state, const gchar *guid);
Evan@653
   674
void msn_callback_state_set_list_id(MsnCallbackState *state, MsnListId list_id);
Evan@653
   675
void msn_callback_state_set_action(MsnCallbackState *state,
Evan@653
   676
				   MsnCallbackAction action);
Evan@653
   677
Evan@653
   678
void msn_contact_connect(MsnSession *session);
Evan@653
   679
void msn_get_contact_list(MsnSession *session,
Evan@653
   680
			  const MsnSoapPartnerScenario partner_scenario,
Evan@653
   681
			  const char *update);
Evan@653
   682
void msn_get_address_book(MsnSession *session,
Evan@653
   683
			  const MsnSoapPartnerScenario partner_scenario,
Evan@653
   684
			  const char * update, const char * gupdate);
Evan@653
   685
Evan@653
   686
/* contact SOAP operations */
Evan@653
   687
void msn_update_contact(MsnSession *session, const char *passport, MsnContactUpdateType type, const char* value);
Evan@653
   688
Evan@653
   689
void msn_add_contact(MsnSession *session, MsnCallbackState *state,
Evan@653
   690
		     const char *passport);
Evan@653
   691
void msn_delete_contact(MsnSession *session, MsnUser *user);
Evan@653
   692
Evan@653
   693
void msn_add_contact_to_group(MsnSession *session, MsnCallbackState *state,
Evan@653
   694
			      const char *passport, const char *groupId);
Evan@653
   695
void msn_del_contact_from_group(MsnSession *session, const char *passport,
Evan@653
   696
				const char *group_name);
Evan@653
   697
/* group operations */
Evan@653
   698
void msn_add_group(MsnSession *session, MsnCallbackState *state,
Evan@653
   699
					const char* group_name);
Evan@653
   700
void msn_del_group(MsnSession *session, const gchar *group_name);
Evan@653
   701
void msn_contact_rename_group(MsnSession *session, const char *old_group_name,
Evan@653
   702
						   const char *new_group_name);
Evan@653
   703
Evan@653
   704
/* lists operations */
Evan@653
   705
void msn_add_contact_to_list(MsnSession *session, MsnCallbackState *state,
Evan@653
   706
			     const gchar *passport, const MsnListId list);
Evan@653
   707
void msn_del_contact_from_list(MsnSession *session, MsnCallbackState *state,
Evan@653
   708
			       const gchar *passport, const MsnListId list);
Evan@653
   709
Evan@653
   710
#endif /* _MSN_CONTACT_H_ */
Evan@653
   711