adium-1.4 3201:fdbec2bea96b: Added missing headers

commits at adium.im commits at adium.im
Mon Nov 1 21:17:34 UTC 2010


details:	http://hg.adium.im/adium-1.4/rev/fdbec2bea96b
revision:	3201:fdbec2bea96b
author:		Evan Schoenberg
date:		Mon Nov 01 15:59:23 2010 -0500

Added missing headers
Subject: adium-1.4 3202:322f46a8ab44: Fix copying the libpurple framework headers over. A better fix would be to fix frameworkize.py (which in turn means fixing rtool) to handle subdirectories of headers. Knock yourself out if you care. :)

details:	http://hg.adium.im/adium-1.4/rev/322f46a8ab44
revision:	3202:322f46a8ab44
author:		Evan Schoenberg
date:		Mon Nov 01 16:00:16 2010 -0500

Fix copying the libpurple framework headers over. A better fix would be to fix frameworkize.py (which in turn means fixing rtool) to handle subdirectories of headers. Knock yourself out if you care. :)
Subject: adium-1.4 3203:f287fb4aec96: Added header entry for AIDebugLoggingIsEnabled

details:	http://hg.adium.im/adium-1.4/rev/f287fb4aec96
revision:	3203:f287fb4aec96
author:		Evan Schoenberg
date:		Mon Nov 01 16:03:17 2010 -0500

Added header entry for AIDebugLoggingIsEnabled
Subject: adium-1.4 3204:9bfedcc24f6a: We now need this internal header too because of bad behavior the jabber service does; we should look into removing the need for using libpurple internals...

details:	http://hg.adium.im/adium-1.4/rev/9bfedcc24f6a
revision:	3204:9bfedcc24f6a
author:		Evan Schoenberg
date:		Mon Nov 01 16:06:43 2010 -0500

We now need this internal header too because of bad behavior the jabber service does; we should look into removing the need for using libpurple internals...
Subject: adium-1.4 3205:37ea6dd4edc8: Horray! We can remove dependency on msn internal headers entirely now

details:	http://hg.adium.im/adium-1.4/rev/37ea6dd4edc8
revision:	3205:37ea6dd4edc8
author:		Evan Schoenberg
date:		Mon Nov 01 16:16:21 2010 -0500

Horray! We can remove dependency on msn internal headers entirely now
Subject: adium-1.4 3206:debb4ee53dcc: Added use of the shiny new purple_account_set_public_alias() instead of the interanl msn_act_id()

details:	http://hg.adium.im/adium-1.4/rev/debb4ee53dcc
revision:	3206:debb4ee53dcc
author:		Evan Schoenberg
date:		Mon Nov 01 16:17:02 2010 -0500

Added use of the shiny new purple_account_set_public_alias() instead of the interanl msn_act_id()

diffs (truncated from 5995 to 1000 lines):

diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m
--- a/Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m	Mon Nov 01 15:49:02 2010 -0500
+++ b/Frameworks/Adium Framework/Source/AIListOutlineView+Drawing.m	Mon Nov 01 16:17:02 2010 -0500
@@ -268,8 +268,6 @@
 
 - (void)drawRect:(NSRect)rect
 {	
-	static int timesDrawn = 0;
-
 	[super drawRect:rect];
 	
 	/*	#################### Crappy Code ###################
diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/Adium Framework/Source/ESDebugAILog.h
--- a/Frameworks/Adium Framework/Source/ESDebugAILog.h	Mon Nov 01 15:49:02 2010 -0500
+++ b/Frameworks/Adium Framework/Source/ESDebugAILog.h	Mon Nov 01 16:17:02 2010 -0500
@@ -24,6 +24,7 @@
 #define AILogWithBacktrace(fmt, args...) do { if (__builtin_expect(AIDebugLoggingEnabled, 0)) AILogBacktrace_impl(fmt, ##args); } while(0)
 
 void AIEnableDebugLogging();
+BOOL AIDebugLoggingIsEnabled();
 void AILogWithPrefix_impl (const char *signature, NSString *format, ...) __attribute__((format(__NSString__, 2, 3)));
 void AILog_impl (NSString *format, ...) __attribute__((format(__NSString__, 1, 2)));
 void AILogBacktrace_impl();
diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/libpurple.framework/Versions/0/Headers/chat.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libpurple.framework/Versions/0/Headers/chat.h	Mon Nov 01 16:17:02 2010 -0500
@@ -0,0 +1,117 @@
+/**
+ * @file chat.h Chat stuff
+ *
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+#ifndef PURPLE_JABBER_CHAT_H_
+#define PURPLE_JABBER_CHAT_H_
+
+#include "internal.h"
+#include "connection.h"
+#include "conversation.h"
+#include "request.h"
+#include "roomlist.h"
+
+#include "jabber.h"
+
+typedef struct _JabberChatMember {
+	char *handle;
+	char *jid;
+} JabberChatMember;
+
+
+typedef struct _JabberChat {
+	JabberStream *js;
+	char *room;
+	char *server;
+	char *handle;
+	GHashTable *components;
+	int id;
+	PurpleConversation *conv;
+	gboolean muc;
+	gboolean xhtml;
+	PurpleRequestType config_dialog_type;
+	void *config_dialog_handle;
+	GHashTable *members;
+	gboolean left;
+} JabberChat;
+
+GList *jabber_chat_info(PurpleConnection *gc);
+GHashTable *jabber_chat_info_defaults(PurpleConnection *gc, const char *chat_name);
+char *jabber_get_chat_name(GHashTable *data);
+
+/**
+ * in-prpl function for joining a chat room. Doesn't require sticking goop
+ * into a hash table.
+ *
+ * @param room     The room to join. This MUST be normalized already.
+ * @param server   The server the room is on. This MUST be normalized already.
+ * @param password The password (if required) to join the room. May be NULL.
+ * @param data     The chat hash table.  May be NULL (it will be generated
+ *                 for current core<>prpl API interface.)
+ */
+JabberChat *jabber_join_chat(JabberStream *js, const char *room,
+                             const char *server, const char *handle,
+                             const char *password, GHashTable *data);
+
+void jabber_chat_join(PurpleConnection *gc, GHashTable *data);
+JabberChat *jabber_chat_find(JabberStream *js, const char *room,
+		const char *server);
+JabberChat *jabber_chat_find_by_id(JabberStream *js, int id);
+JabberChat *jabber_chat_find_by_conv(PurpleConversation *conv);
+void jabber_chat_destroy(JabberChat *chat);
+void jabber_chat_free(JabberChat *chat);
+gboolean jabber_chat_find_buddy(PurpleConversation *conv, const char *name);
+void jabber_chat_invite(PurpleConnection *gc, int id, const char *message,
+		const char *name);
+void jabber_chat_leave(PurpleConnection *gc, int id);
+char *jabber_chat_buddy_real_name(PurpleConnection *gc, int id, const char *who);
+void jabber_chat_request_room_configure(JabberChat *chat);
+void jabber_chat_create_instant_room(JabberChat *chat);
+void jabber_chat_register(JabberChat *chat);
+void jabber_chat_change_topic(JabberChat *chat, const char *topic);
+void jabber_chat_set_topic(PurpleConnection *gc, int id, const char *topic);
+gboolean jabber_chat_change_nick(JabberChat *chat, const char *nick);
+void jabber_chat_part(JabberChat *chat, const char *msg);
+void jabber_chat_track_handle(JabberChat *chat, const char *handle,
+		const char *jid, const char *affiliation, const char *role);
+void jabber_chat_remove_handle(JabberChat *chat, const char *handle);
+gboolean jabber_chat_ban_user(JabberChat *chat, const char *who,
+		const char *why);
+gboolean jabber_chat_affiliate_user(JabberChat *chat, const char *who,
+		const char *affiliation);
+gboolean jabber_chat_affiliation_list(JabberChat *chat, const char *affiliation);
+gboolean jabber_chat_role_user(JabberChat *chat, const char *who,
+		const char *role, const char *why);
+gboolean jabber_chat_role_list(JabberChat *chat, const char *role);
+
+PurpleRoomlist *jabber_roomlist_get_list(PurpleConnection *gc);
+void jabber_roomlist_cancel(PurpleRoomlist *list);
+
+void jabber_chat_disco_traffic(JabberChat *chat);
+
+char *jabber_roomlist_room_serialize(PurpleRoomlistRoom *room);
+
+gboolean jabber_chat_all_participants_have_capability(const JabberChat *chat,
+	const gchar *cap);
+guint jabber_chat_get_num_participants(const JabberChat *chat);
+
+#endif /* PURPLE_JABBER_CHAT_H_ */
diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/libpurple.framework/Versions/0/Headers/cmdproc.h
--- a/Frameworks/libpurple.framework/Versions/0/Headers/cmdproc.h	Mon Nov 01 15:49:02 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/**
- * @file cmdproc.h MSN command processor functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef MSN_CMDPROC_H
-#define MSN_CMDPROC_H
-
-typedef struct _MsnCmdProc MsnCmdProc;
-
-#include "command.h"
-#include "error.h"
-#include "history.h"
-#include "servconn.h"
-#include "session.h"
-#include "table.h"
-
-struct _MsnCmdProc
-{
-	MsnSession *session;
-	MsnServConn *servconn;
-
-	GQueue *txqueue;
-
-	MsnCommand *last_cmd;
-
-	MsnTable *cbs_table;
-
-	MsnHistory *history;
-
-	GHashTable *multiparts; /**< Multi-part message ID's */
-
-	void *data; /**< Extra data, like the switchboard. */
-};
-
-MsnCmdProc *msn_cmdproc_new(MsnSession *session);
-void msn_cmdproc_destroy(MsnCmdProc *cmdproc);
-
-void msn_cmdproc_process_queue(MsnCmdProc *cmdproc);
-
-void msn_cmdproc_send_trans(MsnCmdProc *cmdproc, MsnTransaction *trans);
-void msn_cmdproc_queue_trans(MsnCmdProc *cmdproc,
-							 MsnTransaction *trans);
-void msn_cmdproc_send(MsnCmdProc *cmdproc, const char *command,
-					  const char *format, ...);
-void msn_cmdproc_send_quick(MsnCmdProc *cmdproc, const char *command,
-							const char *format, ...);
-
-void msn_cmdproc_process_msg(MsnCmdProc *cmdproc,
-							 MsnMessage *msg);
-void msn_cmdproc_process_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd);
-void msn_cmdproc_process_cmd_text(MsnCmdProc *cmdproc, const char *command);
-void msn_cmdproc_process_payload(MsnCmdProc *cmdproc,
-								 char *payload, int payload_len);
-
-#endif /* MSN_CMDPROC_H */
diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/libpurple.framework/Versions/0/Headers/command.h
--- a/Frameworks/libpurple.framework/Versions/0/Headers/command.h	Mon Nov 01 15:49:02 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/**
- * @file command.h MSN command functions
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef MSN_COMMAND_H
-#define MSN_COMMAND_H
-
-typedef struct _MsnCommand MsnCommand;
-
-#include "cmdproc.h"
-#include "transaction.h"
-
-typedef void (*MsnPayloadCb)(MsnCmdProc *cmdproc, MsnCommand *cmd,
-							 char *payload, size_t len);
-
-/**
- * A received command.
- */
-struct _MsnCommand
-{
-	unsigned int trId;
-
-	char *command;
-	char **params;
-	int param_count;
-
-	int ref_count;
-
-	MsnTransaction *trans;
-
-	char *payload;
-	size_t payload_len;
-
-	MsnPayloadCb payload_cb;
-	void *payload_cbdata;
-};
-
-MsnCommand *msn_command_from_string(const char *string);
-void msn_command_destroy(MsnCommand *cmd);
-MsnCommand *msn_command_ref(MsnCommand *cmd);
-MsnCommand *msn_command_unref(MsnCommand *cmd);
-
-#endif /* MSN_COMMAND_H */
diff -r f04d1fb6ef86 -r debb4ee53dcc Frameworks/libpurple.framework/Versions/0/Headers/contact.h
--- a/Frameworks/libpurple.framework/Versions/0/Headers/contact.h	Mon Nov 01 15:49:02 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,710 +0,0 @@
-/**
- * @file contact.h			Header file for contact.c
- *	Author
- * 		MaYuan<mayuan2006 at gmail.com>
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,  USA
- */
-#ifndef MSN_CONTACT_H
-#define MSN_CONTACT_H
-
-typedef struct _MsnCallbackState MsnCallbackState;
-
-typedef enum
-{
-	MSN_ADD_BUDDY       = 0x01,
-	MSN_MOVE_BUDDY      = 0x02,
-	MSN_ACCEPTED_BUDDY  = 0x04,
-	MSN_DENIED_BUDDY    = 0x08,
-	MSN_ADD_GROUP       = 0x10,
-	MSN_DEL_GROUP       = 0x20,
-	MSN_RENAME_GROUP    = 0x40,
-	MSN_UPDATE_INFO     = 0x80
-} MsnCallbackAction;
-
-typedef enum
-{
-	MSN_UPDATE_DISPLAY,	/* Real display name */
-	MSN_UPDATE_ALIAS,	/* Aliased display name */
-	MSN_UPDATE_COMMENT
-} MsnContactUpdateType;
-
-typedef enum
-{
-	MSN_PS_INITIAL,
-	MSN_PS_SAVE_CONTACT,
-	MSN_PS_PENDING_LIST,
-	MSN_PS_CONTACT_API,
-	MSN_PS_BLOCK_UNBLOCK
-} MsnSoapPartnerScenario;
-
-#include "session.h"
-#include "soap.h"
-
-#define MSN_APPLICATION_ID "CFE80F9D-180F-4399-82AB-413F33A1FA11"
-
-#define MSN_CONTACT_SERVER	"omega.contacts.msn.com"
-
-/* Get Contact List */
-
-#define MSN_GET_CONTACT_POST_URL	"/abservice/SharingService.asmx"
-#define MSN_GET_CONTACT_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/FindMembership"
-
-#define MSN_GET_CONTACT_UPDATE_XML \
-	"<View>Full</View>"\
-	"<deltasOnly>true</deltasOnly>"\
-	"<lastChange>%s</lastChange>"
-
-#define MSN_GET_CONTACT_TEMPLATE	"<?xml version='1.0' encoding='utf-8'?>"\
-"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-	"<soap:Header xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-		"<ABApplicationHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ApplicationId xmlns=\"http://www.msn.com/webservices/AddressBook\">" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration xmlns=\"http://www.msn.com/webservices/AddressBook\">false</IsMigration>"\
-			"<PartnerScenario xmlns=\"http://www.msn.com/webservices/AddressBook\">%s</PartnerScenario>"\
-		 "</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest xmlns=\"http://www.msn.com/webservices/AddressBook\">false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"\
-		"<FindMembership xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<serviceFilter xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-				"<Types xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Messenger</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Invitation</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">SocialNetwork</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Space</ServiceType>"\
-					"<ServiceType xmlns=\"http://www.msn.com/webservices/AddressBook\">Profile</ServiceType>"\
-				"</Types>"\
-			"</serviceFilter>"\
-			"%s"\
-		"</FindMembership>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/************************************************
- * Address Book SOAP
- * *********************************************/
-
-#define MSN_ADDRESS_BOOK_POST_URL	"/abservice/abservice.asmx"
-
-/* Create AddressBook template */
-#define MSN_ADD_ADDRESSBOOK_SOAP_ACTION     "http://www.msn.com/webservices/AddressBook/ABAdd"
-
-#define MSN_ADD_ADDRESSBOOK_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Initial</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abInfo>"\
-				"<name/>"\
-				"<ownerPuid>0</ownerPuid>"\
-				"<ownerEmail>%s</ownerEmail>"\
-				"<fDefault>true</fDefault>"\
-			"</abInfo>"\
-		"</ABAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Get AddressBook */
-#define MSN_GET_ADDRESS_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABFindAll"
-#define MSN_GET_ADDRESS_FULL_TIME	"0001-01-01T00:00:00.0000000-08:00"
-#define MSN_GET_ADDRESS_UPDATE_XML \
-	"<deltasOnly>true</deltasOnly>"\
-	"<lastChange>%s</lastChange>"
-
-#define MSN_GET_GLEAM_UPDATE_XML \
-	"%s"\
-	"<dynamicItemView>Gleam</dynamicItemView>"\
-	"<dynamicItemLastChange>%s</dynamicItemLastChange>"
-
-#define MSN_GET_ADDRESS_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<abView>Full</abView>"\
-			"%s"\
-		"</ABFindAll>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/*Gleams SOAP request template*/
-#define MSN_GET_GLEAMS_SOAP_ACTION "http://www.msn.com/webservices/AddressBook/ABFindAll"
-#define MSN_GLEAMS_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Initial</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABFindAll xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<abView>Full</abView>"\
-			"<dynamicItemView>Gleam</dynamicItemView>"\
-			"<dynamicItemLastChange>0001-01-01T00:00:00.0000000-08:00</dynamicItemLastChange>"\
-		"</ABFindAll>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/*******************************************************
- * Contact Management SOAP actions
- *******************************************************/
-
-/* Add a new contact */
-#define MSN_CONTACT_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactAdd"
-#define MSN_CONTACT_LIVE_PENDING_XML \
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<contactType>LivePending</contactType>"\
-			"<passportName>%s</passportName>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_XML	\
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<passportName>%s</passportName>"\
-			"<isSmtp>false</isSmtp>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_DISPLAYNAME_XML	\
-	"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-		"<contactInfo>"\
-			"<displayName>%s</displayName>"\
-			"<passportName>%s</passportName>"\
-			"<isMessengerUser>true</isMessengerUser>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_ID_XML \
-	"<Contact>"\
-		"<contactId>%s</contactId>"\
-	"</Contact>"
-
-#define MSN_CONTACT_EMAIL_XML \
-	"<Contact>"\
-		"<contactInfo>"\
-			"<emails>"\
-				"<ContactEmail>"\
-					"<contactEmailType>%s</contactEmailType>"\
-					"<email>%s</email>"\
-					"<isMessengerEnabled>true</isMessengerEnabled>"\
-					"<Capability>%d</Capability>"\
-					"<MessengerEnabledExternally>false</MessengerEnabledExternally>"\
-					"<propertiesChanged/>"\
-				"</ContactEmail>"\
-			"</emails>"\
-		"</contactInfo>"\
-	"</Contact>"
-
-#define MSN_CONTACT_INVITE_MESSAGE_XML \
-	"<MessengerMemberInfo>"\
-		"<PendingAnnotations>"\
-			"<Annotation>"\
-				"<Name>MSN.IM.InviteMessage</Name>"\
-				"<Value>%s</Value>"\
-			"</Annotation>"\
-		"</PendingAnnotations>"\
-		"<DisplayName>%s</DisplayName>"\
-	"</MessengerMemberInfo>"
-
-#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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>ContactSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</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>"
-
-/* Add a contact to a group */
-#define MSN_ADD_CONTACT_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactAdd"
-#define MSN_ADD_CONTACT_GROUP_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>ContactSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupContactAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-			"<contacts>%s</contacts>"\
-			"<groupContactAddOptions>"\
-				"<fGenerateMissingQuickName>true</fGenerateMissingQuickName>"\
-				"<EnableAllowListManagement>true</EnableAllowListManagement>"\
-			"</groupContactAddOptions>"\
-			"%s"\
-		"</ABGroupContactAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* Delete a contact from the Contact List */
-#define MSN_CONTACT_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactDelete"
-#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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</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>"
-
-/* Remove a contact from a group */
-#define MSN_CONTACT_DEL_GROUP_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupContactDelete"
-#define MSN_CONTACT_DEL_GROUP_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupContactDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>%s</contacts>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-		"</ABGroupContactDelete>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-/* Update Contact Information */
-#define MSN_CONTACT_UPDATE_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABContactUpdate"
-#define MSN_CONTACT_UPDATE_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABContactUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<contacts>"\
-				"<Contact xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-					""\
-				"</Contact>"\
-			"</contacts>"\
-		"</ABContactUpdate>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/*******************************************************
- * Add/Delete contact from lists SOAP actions
- *******************************************************/
-
-/* block means delete from allow list and add contact to block list */
-#define MSN_SHARE_POST_URL		"/abservice/SharingService.asmx"
-
-#define MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/AddMember"
-#define MSN_DELETE_MEMBER_FROM_LIST_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/DeleteMember"
-
-#define MSN_MEMBER_PASSPORT_XML	\
-	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
-		"<Type>%s</Type>"\
-		"<State>Accepted</State>"\
-		"<%s>%s</%s>"\
-	"</Member>"
-
-#define MSN_MEMBER_MEMBERSHIPID_XML	\
-	"<Member xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"%s\">"\
-		"<Type>%s</Type>"\
-		"<MembershipId>%u</MembershipId>"\
-		"<State>Accepted</State>"\
-	"</Member>"
-
-/* first delete contact from allow list */
-
-#define MSN_CONTACT_DELETE_FROM_LIST_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</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>%s</MemberRole>"\
-					"<Members>"\
-						"%s"\
-					"</Members>"\
-				"</Membership>"\
-			"</memberships>"\
-		"</DeleteMember>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-#define MSN_CONTACT_ADD_TO_LIST_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>%s</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</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>%s</MemberRole>"\
-					"<Members>"\
-						"%s"\
-					"</Members>"\
-				"</Membership>"\
-			"</memberships>"\
-		"</AddMember>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-
-
-/*******************************************************
- * Group management SOAP actions
- *******************************************************/
-
-/* add a group */
-#define MSN_GROUP_ADD_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupAdd"
-#define MSN_GROUP_ADD_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>GroupSave</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupAdd xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupAddOptions>"\
-				"<fRenameOnMsgrConflict>false</fRenameOnMsgrConflict>"\
-			"</groupAddOptions>"\
-			"<groupInfo>"\
-				"<GroupInfo>"\
-					"<name>%s</name>"\
-					"<groupType>C8529CE2-6EAD-434d-881F-341E17DB3FF8</groupType>"\
-					"<fMessenger>false</fMessenger>"\
-					"<annotations>"\
-						"<Annotation>"\
-							"<Name>MSN.IM.Display</Name>"\
-							"<Value>1</Value>"\
-						"</Annotation>"\
-					"</annotations>"\
-				"</GroupInfo>"\
-			"</groupInfo>"\
-		"</ABGroupAdd>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* delete a group */
-#define MSN_GROUP_DEL_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupDelete"
-#define MSN_GROUP_DEL_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupDelete xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groupFilter>"\
-				"<groupIds>"\
-					"<guid>%s</guid>"\
-				"</groupIds>"\
-			"</groupFilter>"\
-		"</ABGroupDelete>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-/* change a group's name */
-#define MSN_GROUP_RENAME_SOAP_ACTION	"http://www.msn.com/webservices/AddressBook/ABGroupUpdate"
-#define MSN_GROUP_RENAME_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>" MSN_APPLICATION_ID "</ApplicationId>"\
-			"<IsMigration>false</IsMigration>"\
-			"<PartnerScenario>Timer</PartnerScenario>"\
-		"</ABApplicationHeader>"\
-		"<ABAuthHeader xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<ManagedGroupRequest>false</ManagedGroupRequest>"\
-			"<TicketToken>EMPTY</TicketToken>"\
-		"</ABAuthHeader>"\
-	"</soap:Header>"\
-	"<soap:Body>"\
-		"<ABGroupUpdate xmlns=\"http://www.msn.com/webservices/AddressBook\">"\
-			"<abId>00000000-0000-0000-0000-000000000000</abId>"\
-			"<groups>"\
-				"<Group>"\
-					"<groupId>%s</groupId>"\
-					"<groupInfo>"\
-						"<name>%s</name>"\
-					"</groupInfo>"\
-					"<propertiesChanged>GroupName </propertiesChanged>"\
-				"</Group>"\
-			"</groups>"\
-		"</ABGroupUpdate>"\
-	"</soap:Body>"\
-"</soap:Envelope>"
-
-struct _MsnCallbackState
-{
-	gchar * who;
-	gchar * uid;
-	gchar * old_group_name;
-	gchar * new_group_name;
-	gchar * guid;
-	MsnListId list_id;
-	MsnCallbackAction action;
-	MsnSession *session;
-	xmlnode *body;
-	xmlnode *token;
-	const gchar *post_action;
-	const gchar *post_url;
-	MsnSoapCallback cb;
-	/* For msn_get_contact_list only */
-	MsnSoapPartnerScenario partner_scenario;
-};
-
-/************************************************
- * function prototype
- ************************************************/
-MsnCallbackState * msn_callback_state_new(MsnSession *session);
-MsnCallbackState * msn_callback_state_dup(MsnCallbackState *state);
-void msn_callback_state_free(MsnCallbackState *state);
-void msn_callback_state_set_who(MsnCallbackState *state, const gchar *who);
-void msn_callback_state_set_uid(MsnCallbackState *state, const gchar *uid);
-void msn_callback_state_set_old_group_name(MsnCallbackState *state,
-					   const gchar *old_group_name);
-void msn_callback_state_set_new_group_name(MsnCallbackState *state,
-					   const gchar *new_group_name);
-void msn_callback_state_set_guid(MsnCallbackState *state, const gchar *guid);
-void msn_callback_state_set_list_id(MsnCallbackState *state, MsnListId list_id);
-void msn_callback_state_set_action(MsnCallbackState *state,
-				   MsnCallbackAction action);
-
-void msn_contact_connect(MsnSession *session);
-void msn_get_contact_list(MsnSession *session,
-			  const MsnSoapPartnerScenario partner_scenario,
-			  const char *update);
-void msn_get_address_book(MsnSession *session,
-			  const MsnSoapPartnerScenario partner_scenario,
-			  const char * update, const char * gupdate);
-
-/* contact SOAP operations */
-void msn_update_contact(MsnSession *session, const char *passport, MsnContactUpdateType type, const char* value);
-
-void msn_add_contact(MsnSession *session, MsnCallbackState *state,
-		     const char *passport);
-void msn_delete_contact(MsnSession *session, MsnUser *user);
-
-void msn_add_contact_to_group(MsnSession *session, MsnCallbackState *state,
-			      const char *passport, const char *groupId);
-void msn_del_contact_from_group(MsnSession *session, const char *passport,
-				const char *group_name);
-/* group operations */
-void msn_add_group(MsnSession *session, MsnCallbackState *state,
-					const char* group_name);
-void msn_del_group(MsnSession *session, const gchar *group_name);
-void msn_contact_rename_group(MsnSession *session, const char *old_group_name,
-						   const char *new_group_name);
-
-/* lists operations */
-void msn_add_contact_to_list(MsnSession *session, MsnCallbackState *state,
-			     const gchar *passport, const MsnListId list);
-void msn_del_contact_from_list(MsnSession *session, MsnCallbackState *state,
-			       const gchar *passport, const MsnListId list);




More information about the commits mailing list