isolationserver/tsrc/src/isolationserverBlocks.cpp
changeset 0 d0f3a028347a
child 4 38249ef85f99
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/isolationserver/tsrc/src/isolationserverBlocks.cpp	Tue Feb 02 01:10:06 2010 +0200
@@ -0,0 +1,19062 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  isolationserverBlocks.cpp
+*
+*/
+
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <StifTestInterface.h>
+#include "isolationserver.h"
+#include  <e32const.h>
+
+#include <glib.h>
+#include <glib/gprintf.h>           // for g_stpcpy
+#include <string.h>
+#include <stdlib.h>
+
+#include <glowmem.h>
+#include "msgliterals.h"
+#include "msg_enums.h"
+#include <math.h>
+#define ONE_K_OPENC_FIX 1020
+
+typedef enum
+{
+	RC_OK,
+	RC_ERROR
+} RC_Code_t;
+
+
+typedef struct
+{
+	gchar *recipient;
+	gchar *message;
+} MessageData;
+
+typedef struct
+{
+	gchar      *proxy_server;
+	gchar      *proxy_port;	
+}ProxyData;
+
+typedef struct
+{
+	gchar       *server;
+	gchar       *username;
+	gchar       *password;		
+	gchar       *resource;
+	MessageData *msg_data;
+	gchar       *port;	
+
+    ProxyData   *proxy_data;
+    gchar       *contact;
+    gchar		*connmgr_bus;
+    gchar		*connmgr_path;
+    gchar		*protocol; 
+    gchar		*key_given_name;
+    gchar		*key_middle_name;
+    gchar		*key_jid;
+    gchar		*key_full_name;
+    gchar       *mimetype;
+    gchar       *image_file_name; 
+
+} ConnectData;
+
+
+// Function to read data from the cfg file
+static RC_Code_t read_data ( ConnectData*& connect_data, 
+                             CStifItemParser& aItem );
+                             
+// Function to free the allocated resources
+static void free_data ( ConnectData*& connect_data );                             
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+
+
+//-----------------------------------------------------------------------------
+// function_name	: read_data
+// description     	: Reads data from the CFG file
+// Returns          : None
+//-----------------------------------------------------------------------------
+//
+static RC_Code_t
+read_data ( ConnectData*& connect_data, CStifItemParser& aItem )
+    {
+	TPtrC               string;
+	TBuf8<KMaxFileName> temp;
+	MessageData         *msg_data   = NULL;
+	
+
+	ProxyData           *proxy_data = NULL;
+//	TInt                proxy_port;
+
+
+	
+	connect_data = g_new0 ( ConnectData, 1 );
+	if ( !connect_data )
+	    {
+		return RC_ERROR;
+	    }
+	    
+	msg_data = g_new0 ( MessageData, 1 );
+	if ( !msg_data )
+	    {
+		free_data ( connect_data );
+		return RC_ERROR;
+	    }
+	
+	connect_data->msg_data = msg_data;
+	
+
+    proxy_data = g_new0 ( ProxyData, 1 );
+    if ( !proxy_data ) 
+    	{
+    	free_data ( connect_data );
+    	return RC_ERROR;
+    	}
+	connect_data->proxy_data = proxy_data;
+
+
+	// Read server name
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->server = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->server )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->server, ( gchar * ) temp.Ptr() ); 
+	    }
+	    
+	// Read Username
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );
+	    connect_data->username = g_new0 ( gchar, temp.Length() );
+	    if ( !connect_data->username )
+	        {	    	
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( connect_data->username, ( gchar * ) temp.Ptr() );		    
+	    }
+	
+	// Read Password corresponding to Username
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );
+	    connect_data->password = g_new0 ( gchar, temp.Length () );		    
+	    if ( !connect_data->password )
+	        {	    	
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( connect_data->password, ( gchar *) temp.Ptr() );
+	    }
+	
+	// Read recipient
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );
+	    msg_data->recipient = g_new0 ( gchar, temp.Length() );
+	    if ( !msg_data->recipient )
+	        {
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( msg_data->recipient, ( gchar * ) temp.Ptr() );
+	    }
+	
+	// Read Message
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );	    
+	    msg_data->message = g_new0 ( gchar, temp.Length() );
+	    if ( !msg_data->message )
+	        {
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( msg_data->message, ( gchar * ) temp.Ptr() );
+	    }
+	
+	// Read resource identifier
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );
+	    connect_data->resource = g_new0 ( gchar, temp.Length() );
+	    if ( !connect_data->resource )
+	        {
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( connect_data->resource, ( gchar * ) temp.Ptr() );		    
+	    }
+	 
+
+	// Read proxy server and proxy port
+    if ( aItem.GetNextString ( string ) == KErrNone )
+    	{
+    	temp.Copy ( string );
+    	temp.Append ( '\0' );
+    	proxy_data->proxy_server = g_new0 ( gchar, temp.Length() );
+    	if ( !proxy_data->proxy_server )
+    		{
+    		free_data ( connect_data );
+    		return RC_ERROR;
+    		}
+    	g_stpcpy ( proxy_data->proxy_server, ( gchar * ) temp.Ptr() );
+    	}
+    	
+    	if ( aItem.GetNextString ( string ) == KErrNone )
+    	{
+    	temp.Copy ( string );
+    	temp.Append ( '\0' );
+    	proxy_data->proxy_port = g_new0 ( gchar, temp.Length() );
+    	if ( !proxy_data->proxy_port )
+    		{
+    		free_data ( connect_data );
+    		return RC_ERROR;
+    		}
+    	g_stpcpy ( proxy_data->proxy_port, ( gchar * ) temp.Ptr() );
+    	}
+    	
+    	
+    	
+    /*	if ( aItem.GetNextString ( proxy_port ) == KErrNone )
+    		{
+    		proxy_data->proxy_port = proxy_port;
+    		}  */  	
+ 
+
+	// Read POrt address
+	if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+	    temp.Copy ( string );
+	    temp.Append ( '\0' );
+	    connect_data->port = g_new0 ( gchar, temp.Length() );
+	    if ( !connect_data->port )
+	        {
+	    	free_data ( connect_data );
+	    	return RC_ERROR;
+	        }
+	    g_stpcpy ( connect_data->port, ( gchar * ) temp.Ptr() );		    
+	    }
+  
+  // read Add member
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->contact = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->contact )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->contact, ( gchar * ) temp.Ptr() ); 
+	    }
+  
+   	// read CONNMGR_BUS
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->connmgr_bus = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->connmgr_bus )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->connmgr_bus, ( gchar * ) temp.Ptr() ); 
+	    }
+	
+	// read CONNMGR_PATH
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->connmgr_path = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->connmgr_path )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->connmgr_path, ( gchar * ) temp.Ptr() ); 
+	    }
+	    
+	// read PROTOCOL
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->protocol = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->protocol )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->protocol, ( gchar * ) temp.Ptr() ); 
+	    }	 
+	        
+    
+	    // read given Name
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->key_given_name = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->key_given_name )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->key_given_name, ( gchar * ) temp.Ptr() ); 
+	    }	 
+	    
+	    // read middle Name
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->key_middle_name = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->key_middle_name )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->key_middle_name, ( gchar * ) temp.Ptr() ); 
+	    }	 
+	    
+	    // read email Name
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->key_jid = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->key_jid )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->key_jid, ( gchar * ) temp.Ptr() ); 
+	    }	 
+	    
+	    // read full Name
+       if ( aItem.GetNextString ( string ) == KErrNone )
+	    {
+		temp.Copy ( string );
+		temp.Append ( '\0' );
+		connect_data->key_full_name = g_new0 ( gchar, temp.Length() );
+		if ( !connect_data->key_full_name )
+		    {			
+			free_data ( connect_data );
+			return RC_ERROR;
+		    }
+		g_stpcpy ( connect_data->key_full_name, ( gchar * ) temp.Ptr() ); 
+	    }	 
+       // read mimetype
+       if ( aItem.GetNextString ( string ) == KErrNone )
+           {
+           temp.Copy ( string );
+           temp.Append ( '\0' );
+           connect_data->mimetype = g_new0 ( gchar, temp.Length() );
+           if ( !connect_data->mimetype )
+               {           
+               free_data ( connect_data );
+               return RC_ERROR;
+               }
+           g_stpcpy ( connect_data->mimetype, ( gchar * ) temp.Ptr() ); 
+           }    
+       // read image filename
+       if ( aItem.GetNextString ( string ) == KErrNone )
+           {
+           temp.Copy ( string );
+           temp.Append ( '\0' );
+           connect_data->image_file_name = g_new0 ( gchar, temp.Length() );
+           if ( !connect_data->image_file_name )
+               {           
+               free_data ( connect_data );
+               return RC_ERROR;
+               }
+           g_stpcpy ( connect_data->image_file_name, ( gchar * ) temp.Ptr() ); 
+           }          
+	return RC_OK;
+    }
+
+
+//-----------------------------------------------------------------------------
+// function_name	: free_data
+// description     	: Deallocates all the data
+// Returns          : None
+//-----------------------------------------------------------------------------
+//
+static void
+free_data ( ConnectData*& connect_data )
+    {
+	if ( connect_data )
+	    {
+		if ( connect_data->server )
+		    {
+			g_free ( connect_data->server );
+			connect_data->server = NULL;
+		    }
+		
+		if ( connect_data->username )
+		    {
+			g_free ( connect_data->username );
+			connect_data->username = NULL;
+		    }
+		
+		if ( connect_data->password )
+		    {
+			g_free ( connect_data->password );
+			connect_data->password = NULL;
+		    }
+		
+		if ( connect_data->msg_data )
+		    {
+			if ( connect_data->msg_data->recipient )
+			    {
+				g_free ( connect_data->msg_data->recipient );
+				connect_data->msg_data->recipient = NULL;
+			    }
+			if ( connect_data->msg_data->message )
+			    {
+				g_free ( connect_data->msg_data->message );
+				connect_data->msg_data->message = NULL;
+			    }
+			g_free ( connect_data->msg_data );
+			connect_data->msg_data = NULL;
+		    }		
+		
+		if ( connect_data->resource )
+		    {
+			g_free ( connect_data->resource );
+			connect_data->resource = NULL;
+		    }
+		    
+
+	    if ( connect_data->proxy_data )
+	    	{
+	    	if ( connect_data->proxy_data->proxy_server )
+	    		{
+	    		g_free ( connect_data->proxy_data->proxy_server );
+	    		connect_data->proxy_data->proxy_server = NULL;
+	    		}
+	    	g_free ( connect_data->proxy_data );
+	    	connect_data->proxy_data = NULL;	
+	    	}
+	  
+	    if ( connect_data->port )
+		    {
+			g_free ( connect_data->port );
+			connect_data->port = NULL;
+		    }  
+		    
+		    
+		if ( connect_data->contact )
+		    {
+			g_free ( connect_data->contact );
+			connect_data->contact = NULL;
+		    }
+		    
+		if ( connect_data->key_given_name )
+		    {
+			g_free ( connect_data->key_given_name );
+			connect_data->key_given_name = NULL;
+		    }
+		    
+		if ( connect_data->key_middle_name )
+		    {
+			g_free ( connect_data->key_middle_name );
+			connect_data->key_middle_name = NULL;
+		    }
+		    
+		if ( connect_data->key_jid )
+		    {
+			g_free ( connect_data->key_jid );
+			connect_data->key_jid = NULL;
+		    }
+		    
+		if ( connect_data->key_full_name )
+		    {
+			g_free ( connect_data->key_full_name );
+			connect_data->key_full_name = NULL;
+		    }  
+		          
+		g_free ( connect_data );
+		connect_data = NULL;    
+	    }
+    }
+    
+    //-----------------------------------------------------------------------------
+// function_name	: running isolation server exe
+// description     	: Deallocates all the data
+// Returns          : None
+//-----------------------------------------------------------------------------
+  int  run_isoserver()
+  {
+  	// running isoserver 
+    RProcess isosrv_launcher;
+    TInt lunch_err = 0;
+    _LIT(KProcess, "isoserver.exe");
+    lunch_err = isosrv_launcher.Create( KProcess, KNullDesC );
+     if ( KErrNone != lunch_err ) 
+	    {
+		return KErrGeneral;
+	    	
+	    }
+	isosrv_launcher.Resume();
+	return KErrNone;
+  }
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+//          ?value_n: ?description_line1
+//                    ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+    ?arg_type arg,  // ?description
+    ?arg_type arg)  // ?description
+    {
+
+    ?code  // ?comment
+
+    // ?comment
+    ?code
+    }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void Cisolationserver::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        
+        ENTRY( "SecondSearch", Cisolationserver::SecondSearch), 
+        ENTRY( "SearchAndAddContact", Cisolationserver::SearchAndAddContact ),
+        ENTRY( "LoginWithCorrectData", Cisolationserver::LoginWithCorrectdata ),
+        ENTRY( "LoginWithWrongPassword", Cisolationserver::LoginWithWrongPassword ),
+        ENTRY( "LoginWithUnexistUserId", Cisolationserver::LoginWithUnexistUserId),
+        ENTRY( "LoginWithUnexistServer", Cisolationserver::LoginWithUnexistServer),
+        ENTRY( "LoginWithMixedLetterUserId", Cisolationserver::LoginWithMixedletterUserId),
+        ENTRY( "LoginWithMaximumLenghtUserId", Cisolationserver::LoginWithMaximumLengthUserId),
+        ENTRY( "LoginWithMinimumLenghtUserId", Cisolationserver::LoginWithMinimumLengthUserId),
+        ENTRY( "LogoutFromServer", Cisolationserver::LogoutFromServer),
+        ENTRY( "LoginWithBlankUserId", Cisolationserver::LoginWithBlankUserId),
+        ENTRY( "LoginLogOutWithReapitiveSession", Cisolationserver::LoginLogOutWithReapitiveSession),
+        ENTRY( "LoginWithCoreectUserIDWithSpace", Cisolationserver::LoginWithCoreectUserIDWithSpace),
+        ENTRY( "LoginWithInvalidPortAddress", Cisolationserver::LoginWithInvalidPortAddress),
+        ENTRY( "LoginWithMissingSettings", Cisolationserver::LoginWithMissingSettings),
+        ENTRY( "LoginWhenTGAndDDAreNotRunning", Cisolationserver::LoginWhenTGAndDDAreNotRunning),
+        ENTRY( "SendMessageToCorrectUserID", Cisolationserver::SendMessageToCorrectUserID),
+        ENTRY( "SendMaxLenMessageToCorrectUserID", Cisolationserver::SendMaxLenMessageToCorrectUserID),
+        ENTRY( "SendTextMessageUnExistUserID", Cisolationserver::SendTextMessageUnExistUserID),
+        ENTRY( "SendTextMessageWithSpecialCharacter", Cisolationserver::SendTextMessageWithSpecialCharacter),
+        ENTRY( "SendMessageWithBlankUserID", Cisolationserver::SendMessageWithBlankUserID),
+        ENTRY( "SendSmilyToCorrectUserID", Cisolationserver::SendSmilyToCorrectUserID),
+        ENTRY( "SendBlankMessageToUserID", Cisolationserver::SendBlankMessageToUserID),
+        ENTRY( "SendMessageToOfflineContact", Cisolationserver::SendMessageToOfflineContact),
+        ENTRY( "SendContinuousltReapitiveMessage", Cisolationserver::SendContinuousltReapitiveMessage),
+        ENTRY( "SendTextMessageToBlockedUser", Cisolationserver::SendTextMessageToBlockedUser),
+        ENTRY( "SendTextMessageToUserIdWhoIsBlockedSender", Cisolationserver::SendTextMessageToUserIdWhoIsBlockedSender),
+        ENTRY( "SendLongTextMessageToUserId", Cisolationserver::SendLongTextMessageToUserId),
+        ENTRY( "SendTextMessageUserWhoIsNotAddedInContactList", Cisolationserver::SendTextMessageUserWhoIsNotAddedInContactList),
+        ENTRY( "MessageReceiveFromUser", Cisolationserver::MessageReceiveFromUser),
+        ENTRY( "AddExistingContact", Cisolationserver::AddExistingContact),
+        ENTRY( "ClientSendBlankUserIdForADD", Cisolationserver::ClientSendBlankUserIdForADD),
+        ENTRY( "AddContactWhichIsAlreadyAdded", Cisolationserver::AddContactWhichIsAlreadyAdded),
+        ENTRY( "AddExistingContactWIthSpace", Cisolationserver::AddExistingContactWIthSpace),
+        ENTRY( "AddUnexistingUserID", Cisolationserver::AddUnexistingUserID),
+        ENTRY( "AddExistingContactWIthMixedLetter", Cisolationserver::AddExistingContactWIthMixedLetter),
+        ENTRY( "AddInvalidContactWIthSpecialLetter", Cisolationserver::AddInvalidContactWIthSpecialLetter),
+        ENTRY( "DeleteExistingContact", Cisolationserver::DeleteExistingContact),
+        ENTRY( "ClientSendBlankUserIdForDELETE", Cisolationserver::ClientSendBlankUserIdForDELETE),
+        ENTRY( "DeleteContactWhichIsAlreadyDeleted", Cisolationserver::DeleteContactWhichIsAlreadyDeleted),
+        ENTRY( "DeleteExistingContactWIthSpace", Cisolationserver::DeleteExistingContactWIthSpace),
+        ENTRY( "DeleteUnexistingUserID", Cisolationserver::DeleteUnexistingUserID),
+        ENTRY( "DeleteExistingContactWIthMixedLetter", Cisolationserver::DeleteExistingContactWIthMixedLetter),
+        ENTRY( "DeleteInvalidContactWIthSpecialLetter", Cisolationserver::DeleteInvalidContactWIthSpecialLetter),
+        ENTRY( "FetchContatcs", Cisolationserver::FetchContatcs),
+        ENTRY( "AddContatcs", Cisolationserver::AddContatcs),
+        ENTRY( "UpdatePresenceWithAway", Cisolationserver::UpdatePresenceWithAway),
+        ENTRY( "UpdatePresenceWithDnd", Cisolationserver::UpdatePresenceWithDnd),
+        ENTRY( "UpdatePresenceWithAvailable", Cisolationserver::UpdatePresenceWithAvailable),
+        ENTRY( "UpdatePresenceMultipleTimeInSameSession", Cisolationserver::UpdatePresenceMultipleTimeInSameSession),
+        ENTRY( "UpdateOnlyStatusText", Cisolationserver::UpdateOnlyStatusText),
+        ENTRY( "UpdateOnlyUserAvailability", Cisolationserver::UpdateOnlyUserAvailability),
+        ENTRY( "UpdateOwnPresenceWithBlankData", Cisolationserver::UpdateOwnPresenceWithBlankData),
+        ENTRY( "UpdateStatusTextWithMaxLen", Cisolationserver::UpdateStatusTextWithMaxLen),
+        ENTRY( "UpdateStatusTextWithSpecialCharacter", Cisolationserver::UpdateStatusTextWithSpecialCharacter),
+        ENTRY( "HandelingPresenceNotification", Cisolationserver::HandelingPresenceNotification),
+        ENTRY( "SearchKeyValue", Cisolationserver::SearchKeyValue),
+        ENTRY( "SearchKeyValueWithResult", Cisolationserver::SearchKeyValueWithResult ),
+        ENTRY( "SearchKeyValueInvalidParam", Cisolationserver::SearchKeyValueInvalidParam ),
+        ENTRY( "SearchForLargeNoOfResult", Cisolationserver::SearchForLargeNoOfResult ),
+        ENTRY( "SearchKeyValueInvalidParam2", Cisolationserver::SearchKeyValueInvalidParam2 ),
+        ENTRY( "SearchKeyValueInvalidHashValues", Cisolationserver::SearchKeyValueInvalidHashValues ),
+        ENTRY( "SearchKeyValueBlank", Cisolationserver::SearchKeyValueBlank ),
+        ENTRY( "SearchKeyValueSpecialChar", Cisolationserver::SearchKeyValueSpecialChar ),
+        ENTRY( "SearchKeyValueLargeString", Cisolationserver::SearchKeyValueLargeString ),
+        ENTRY( "AcceptAddRequestFromUser", Cisolationserver::AcceptAddRequestFromUser ),
+        ENTRY( "RejectAddRequestFromUser", Cisolationserver::RejectAddRequestFromUser ),
+        ENTRY( "SendAcceptRequestWithoutReceivingAddrequest", Cisolationserver::SendAcceptRequestWithoutReceivingAddrequest ),
+        ENTRY( "SendRejectRequestWithoutReceivingAddrequest", Cisolationserver::SendRejectRequestWithoutReceivingAddrequest ),
+        ENTRY( "SendAcceptRequestWithoutAnyUserID", Cisolationserver::SendAcceptRequestWithoutAnyUserID ),
+        ENTRY( "SendRejectRequestWithoutAnyUserID", Cisolationserver::SendRejectRequestWithoutAnyUserID ),
+        ENTRY( "LogoutWhileUserIsNotLoggedIn", Cisolationserver::LogoutWhileUserIsNotLoggedIn),
+        ENTRY( "GetKeysAndSearch", Cisolationserver::GetKeysAndSearch),
+        ENTRY( "SetOwnAvatar", Cisolationserver::SetOwnAvatar),
+        ENTRY( "ClearOwnAvatar", Cisolationserver::ClearOwnAvatar),
+        ENTRY( "FetchCachedContacts", Cisolationserver::FetchCachedContacts),
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+    
+   // -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithCorrectdata( CStifItemParser& aItem )
+    {
+  	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    /* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+     // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    }
+
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::Logout from server
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LogoutFromServer( CStifItemParser& aItem )
+    {
+  	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    /* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+     // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    }
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::Login with mixed letter user
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithMixedletterUserId( CStifItemParser& aItem )
+    {
+  	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    /* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+     // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    }
+    
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Login with mixed letter user
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithMinimumLengthUserId( CStifItemParser& aItem )
+    {
+  	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    /* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+     // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    }
+    
+     // -----------------------------------------------------------------------------
+// Cisolationserver::Login with mixed letter user
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithMaximumLengthUserId( CStifItemParser& aItem )
+    {
+  	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    /* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+     // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    } 
+// -----------------------------------------------------------------------------
+// Cisolationserver::Login with bad password
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithWrongPassword( CStifItemParser& aItem )
+    {
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+     //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+	/* Send Message to queueOne */
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if( msg_struct->response != 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if( msg_struct->response != 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    goto return_code;
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Login with unexist user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithUnexistUserId( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if( msg_struct->response != 0 )
+    {
+      return_value = KErrGeneral;
+	goto return_code;
+    }
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    } 
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+    
+    
+  // -----------------------------------------------------------------------------
+// Cisolationserver::connect with unexist server
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithUnexistServer( CStifItemParser& aItem )
+    {
+
+    /*	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver();     
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	//Send Message to queueOne 
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    // login end
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    */
+    //LM is not getting call back from server so we are just saying KerrGeneral
+    return KErrGeneral;
+    }
+    
+    
+    
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithBlankUserId( CStifItemParser& aItem )
+    {
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    // blank user id
+    smsg[index++]='\0';    
+    smsg[index++]='\0';
+    
+    //appending password
+    
+   int len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->error_type > 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+ // -----------------------------------------------------------------------------
+// Cisolationserver::Logout from server
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginLogOutWithReapitiveSession( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	 index=0;
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+	msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isolation server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    	//request formation	
+	 index=0;
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+     len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+	msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+    
+    // -----------------------------------------------------------------------------
+// Cisolationserver::connect with invalid port
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithInvalidPortAddress( CStifItemParser& aItem )
+    {
+
+    /*	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    
+    smsg[index++]='4';
+    smsg[index++]='4';
+    smsg[index++]='2';
+    
+    smsg[index++]='\0';
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	// Send Message to queueOne 
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response == 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    */
+    //LM is not getting call back from server so we are just saying KerrGeneral
+    return KErrGeneral;
+    }
+
+   
+   // -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithMissingSettings( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+   
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    // ssl is missing here
+        
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver();    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+	
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+   // -----------------------------------------------------------------------------
+// Cisolationserver::LoginWhenTGAndDDAreNotRunning
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWhenTGAndDDAreNotRunning( CStifItemParser& aItem )
+    {
+    /*
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+   
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver();     
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+	
+	
+	// Send Message to queueOne 
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+   
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value; */
+    return KErrNone;
+    }
+
+    
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LoginWithCoreectUserIDWithSpace( CStifItemParser& aItem )
+    {
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    smsg[index++]='\0';
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+     
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+ 
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->error_type >0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+ // -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendMessageToCorrectUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+    
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }    
+    
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message with max len
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendMaxLenMessageToCorrectUserID( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    run_isoserver();
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    } 
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+   // -----------------------------------------------------------------------------
+// Cisolationserver::Send message to unexist user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendTextMessageUnExistUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+    /* if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }*/
+    
+    //send message end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Send message to unexist user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendTextMessageWithSpecialCharacter( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+       
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //send message end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+   // -----------------------------------------------------------------------------
+// Cisolationserver::Send message to blank user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendMessageWithBlankUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    smsg[index++] = '\0';
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::Send blank message to user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendBlankMessageToUserID( CStifItemParser& aItem )
+    {
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    smsg[index++]=' ';
+    smsg[index++]='\0';
+       
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+    
+     // -----------------------------------------------------------------------------
+// Cisolationserver::Send blank message to user id
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendSmilyToCorrectUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strncpy( smsg + index, connect_data->msg_data->message, strlen( connect_data->msg_data->message ) );
+    index += len;
+    smsg[index++] = ' ';
+    smsg[index++]=':';
+    smsg[index++]='-';
+    smsg[index++]=')';
+    smsg[index++] = '\0';
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+    
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendMessageToOfflineContact( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }   
+    
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //send messge--------------------------------------------
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }    
+    
+    //send message end---------------------------------------
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendContinuousltReapitiveMessage( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge 1 --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //send message end---------------------------------------
+    
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendTextMessageToBlockedUser( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+     //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendTextMessageToUserIdWhoIsBlockedSender( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end 
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendLongTextMessageToUserId( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    run_isoserver();
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    } 
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Send message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendTextMessageUserWhoIsNotAddedInContactList( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //send message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+ 
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::MessageReceiveFromUser( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    int i=0;
+	int msglen=0;	
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp ;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    fp = fopen("c:\\receive_message_logs.txt","a");TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    // running isoserver
+    run_isoserver();
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	
+	//send messge to our self--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	TBool ESend = EFalse , EReceive = EFalse;
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+     // adding recipient
+    /*len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;*/
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+    
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+	    if(msg_struct->hdr_req.message_type==ESend_Request)
+	    ESend=ETrue;
+	    if(msg_struct->hdr_req.message_type==EText_Message_Receive)
+	    ESend=ETrue;
+		} while (ESend/* == ETrue */&& EReceive/* ==ETrue*/) ;//(msg_struct->hdr_req.message_type!=ESend_Request);
+   
+ /*    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }    
+            
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    fprintf( fp, "receive message %s\n", rmsg+24 ); 
+    
+    for ( i=24 ; i <rmsg[i]!='\0';i++)
+    msglen++;
+    fprintf( fp, "receive message %s\n", rmsg+24+msglen+1 ); 
+    */
+    
+    // login end
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddExistingContact( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+     //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	
+    //adding contact --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	// adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++]='\0';
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddUnexistingUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //add contact --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	// adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++] = '\0';
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddContactWhichIsAlreadyAdded( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //add member  1 st time--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    
+     
+    
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+     //add member  2 nd time--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::ClientSendBlankUserIdForADD( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+     TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //add contact --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    smsg[index++]='\0';
+    //client is sending blank user id
+    smsg[index++]='\0';
+    
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if( msg_struct->error_type >0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+   if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddExistingContactWIthSpace( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++]=' ';
+    
+    smsg[index++]= '\0'; 
+    
+     
+    
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //add contact end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddExistingContactWIthMixedLetter( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++]='\0';
+     
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::AddInvalidContactWIthSpecialLetter( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+     
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteExistingContact( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //delete contact--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++] = '\0';
+     
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+   // logout test code from server
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteUnexistingUserID( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end     
+    //delete contact--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+   
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteContactWhichIsAlreadyDeleted( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+     
+      //add member  1 st time--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+    // addiing in q for deleting contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end 1---------------------------------------
+    
+    //delete member  1 st time--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // addiing in q for deleting contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }    
+    //delete contact end 1---------------------------------------
+    
+     //delete contact  2 nd time--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // delete  contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //delete contact end---------------------------------------
+    
+
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+   //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::ClientSendBlankUserIdForDELETE( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //delete contact --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    smsg[index++]='\0';
+    //client is sending blank user id
+    smsg[index++]='\0';
+    
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if( msg_struct->error_type >0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //delete contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteExistingContactWIthSpace( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+     //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+    //delete contact--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding delete contact in queue
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++]='\0';
+        
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+      if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //delete contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+   //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteExistingContactWIthMixedLetter( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+    //delete contact--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding delete contact id
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+     
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+    
+    //delete contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::add member message
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::DeleteInvalidContactWIthSpecialLetter( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //delete contact--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding delete contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+     
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //delete contact end---------------------------------------
+    
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::FetchContatcs( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    // logout test code from server
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+TInt Cisolationserver::AddContatcs( CStifItemParser& aItem )
+   	{ 	
+   	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    
+    //running isoserver   
+    run_isoserver(); 
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//send msg copy	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	//------------------------1
+    // adding recipient
+    len = strlen( "santhosh09431243.ic@gmail.com" );
+    strcpy( smsg + index, "santhosh09431243.ic@gmail.com" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+         
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //send msg copy	end
+    
+    
+ 	
+   //EAdd_Contact_Request messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    //len = strlen( "tele1236@gmail.com" );
+    //strcpy( smsg + index, "tele1236@gmail.com" );
+    //index += len + 1;
+    
+    strcpy( smsg + index, "testlm123@gmail.com" );
+    index += strlen( "testlm123@gmail.com" ) + 1;	
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+   // sleep( 50 );
+    //EAdd_Contact_Request message end---------------------------------------
+ 
+ /*	sleep( 100 );
+ //--------------------------------Trying to add client notification----------------------
+ 
+ 	status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if ( status < 0 )
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+	msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    */
+ //--------------------------------Trying to add client end----------------------
+ 
+ 
+ 
+     
+    //EAdd_Contact_Request messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+    strcpy( smsg + index, "tele1236@gmail.com" );
+    index += strlen( "tele1236@gmail.com" ) + 1;	
+    
+     // adding recipient
+    //len = strlen(connect_data->msg_data->recipient );
+    //strcpy( smsg + index, connect_data->msg_data->recipient );
+    //index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //EAdd_Contact_Request message end---------------------------------------
+ 
+ 
+    
+    //EAdd_Contact_Request -ve messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	//-----------------1
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+    strcpy( smsg + index, "tele1236@gmail.com" );
+    index += strlen( "tele1236@gmail.com" ) + 1;	
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //-----------------2 -ve
+    index = 0;
+    index += sizeof( message_hdr_req );
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    memcpy( smsg + index, connect_data->msg_data->recipient, len );
+    index += len;
+    
+    // adding message part
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //-----------------
+    
+    
+    //EAdd_Contact_Request -ve message end---------------------------------------
+      
+    //send messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESend_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	//------------------------1
+    // adding recipient
+    len = strlen( "santhosh.ic@gmail.com" );
+    strcpy( smsg + index, "santhosh.ic@gmail.com" );
+    index += len + 1;
+    
+     // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+     
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //-----------------------------------2 -ve
+    index = 0;
+    index += sizeof( message_hdr_req );
+    // adding recipient
+    for ( int i = 0; i <= 11; i++ ) 
+	    {
+	    len = strlen( "santhosh.ic@gmail.com" );
+	    strcpy( smsg + index, "santhosh.ic@gmail.com" );
+	    index += len + 1;
+	    }
+    smsg[index++] = '\0';
+    // adding message part
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+    if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    //-----------------------------------3 -ve
+    index = 0;
+    index += sizeof( message_hdr_req );
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    memcpy( smsg + index, connect_data->msg_data->recipient, len );
+    index += len;
+    
+    // adding message part
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ESend_Request);
+   
+    if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //send message end---------------------------------------
+    
+   //EDelete_Contact_Request messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+    strcpy( smsg + index, "tele1236@gmail.com" );
+    index += strlen( "tele1236@gmail.com" ) + 1;	
+    
+     // adding recipient
+    //len = strlen(connect_data->msg_data->recipient );
+    //strcpy( smsg + index, connect_data->msg_data->recipient );
+    //index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+    if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //--------------------delete----------------------
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EDelete_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding recipient
+    len = strlen(connect_data->msg_data->recipient );
+    strcpy( smsg + index, connect_data->msg_data->recipient );
+    index += len + 1;
+    
+    strcpy( smsg + index, "rakesh.harsh@gmail.com" );
+    index += strlen( "rakesh.harsh@gmail.com" ) + 1;	
+    
+     // adding recipient
+    //len = strlen(connect_data->msg_data->recipient );
+    //strcpy( smsg + index, connect_data->msg_data->recipient );
+    //index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    // adding message part
+     
+    len = strlen(connect_data->msg_data->message );
+    strcpy( smsg + index, connect_data->msg_data->message );
+    index += len + 1;
+        
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EDelete_Contact_Request);
+   
+    
+
+    //EDelete_Contact_Request message end--------------------------------------- 
+    
+    //--------------Recieve message-----------------------------------
+   /* do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EText_Message_Receive);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EText_Message_Receive);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    } */   //------------------------Recieve message end---------------------
+  
+   //-------------update presence with available---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "available";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    
+    smsg[index++]='\0';
+    
+    //updating status text
+     char *statustext = "i m busy";
+     memcpy( smsg + index, statustext, strlen( statustext ) );
+     index += strlen( statustext ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+//  ------------------------------------------------------------------
+
+     //-------------update presence with available---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+     char *availability1 = "dnd";
+    memcpy( smsg + index, availability1, strlen( availability1 ) );
+    index += strlen( availability1 ); 
+    
+    smsg[index++]='\0';
+    
+    //updating status text
+      char *statustext1 = "i m busy";
+     memcpy( smsg + index, statustext1, strlen( statustext1 ) );
+     index += strlen( statustext1 ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+//  ------------------------------------------------------------------
+
+ //-------------update presence with available---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability2 = "away";
+    memcpy( smsg + index, availability2, strlen( availability2 ) );
+    index += strlen( availability2 ); 
+    
+    smsg[index++]='\0';
+    
+    //updating status text
+     char *statustext2 = "i m busy";
+     memcpy( smsg + index, statustext2, strlen( statustext2 ) );
+     index += strlen( statustext2 ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+//  ------------------------------------------------------------------
+
+   //----------------------------presence negative case------------------
+   
+   memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability with blank 
+    smsg[index++]='\0';
+    smsg[index++]='\0';
+    //smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext4 = "i m not on desk";
+    memcpy( smsg + index, statustext4, strlen( statustext4 ) );
+    index += strlen( statustext4 );  
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->error_type > 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+   
+  //-------------------------1 end 
+  
+  // update 2 negative
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability4 = "available";
+    memcpy( smsg + index, availability, strlen( availability4 ) );
+    index += strlen( availability4 ); 
+      
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //----
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    	}
+
+ // -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithAway
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdatePresenceWithAway( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "away";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    
+    smsg[index++]='\0';
+    
+    //updating status text
+     char *statustext = "i m busy";
+     memcpy( smsg + index, statustext, strlen( statustext ) );
+     index += strlen( statustext ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+  // -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithAway
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdatePresenceWithAvailable( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "available";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "there is difference between thought and execution";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdatePresenceWithDnd( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+     //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "dnd";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "i m busy";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdatePresenceMultipleTimeInSameSession( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "dnd";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+   //updating status text
+    char *statustext = "i m busy";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    	 //-------------update presence 2nd time---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability1 = "away";
+    memcpy( smsg + index, availability1, strlen( availability1 ) );
+    index += strlen( availability1 ); 
+    smsg[index++]='\0';
+    
+   //updating status text
+    char *statustext1 = "i m not on desk";
+    memcpy( smsg + index, statustext1, strlen( statustext1 ) );
+    index += strlen( statustext1 ); 
+    
+       
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogout_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdateOnlyStatusText( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability with blank 
+    smsg[index++]='\0';
+    smsg[index++]='\0';
+    //smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "i m not on desk";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext );  
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->error_type > 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+ // -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithAway
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdateOnlyUserAvailability( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "available";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+      
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithAway
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdateOwnPresenceWithBlankData( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	   
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->error_type > 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+   // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdateStatusTextWithSpecialCharacter( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "dnd";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "hi i m_ fine here @@@@@ ********* &&&&&&&&&&&&";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::UpdateStatusTextWithMaxLen( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "dnd";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "thesr is difference between thoughts and execution ";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::UpdatePresenceWithDnd
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::HandelingPresenceNotification( CStifItemParser& aItem )
+    {
+
+    /*	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver();    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	// Send Message to queueOne 
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	
+	 //-------------update presence---------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnPresence;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // updating availability
+    char *availability = "dnd";
+    memcpy( smsg + index, availability, strlen( availability ) );
+    index += strlen( availability ); 
+    smsg[index++]='\0';
+    
+    //updating status text
+    char *statustext = "i m busy";
+    memcpy( smsg + index, statustext, strlen( statustext ) );
+    index += strlen( statustext ); 
+    
+       
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EUpdateOwnPresence);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+   //  waiting for second change 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    //  waiting for first change 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+     //  waiting for first change 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+    
+     //  waiting for first change 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+    
+     //  waiting for first change 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+        //wait for message receive 
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	    goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value; */
+    return KErrNone;
+    }
+    
+    
+Cisolationserver::SearchKeyValue( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    TInt return_value = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return KErrGeneral;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+	const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+    
+
+    
+    // adding value
+     
+    len = strlen("santhosh" );
+    strcpy( smsg + index, "santhosh" );
+    index += len + 1;
+    
+
+    smsg[index++] = '\0';
+     
+    
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+     ///-------------------------------------------------------------
+ 
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+
+    
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;	
+	}
+
+Cisolationserver::SearchKeyValueWithResult( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+	const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;	
+    
+    // adding value
+     
+    len = strlen("rakesh" );
+    strcpy( smsg + index, "rakesh" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+    
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+
+    
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;	
+	}
+
+
+
+Cisolationserver::SearchKeyValueInvalidParam( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch );
+   
+     if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+	}
+
+
+Cisolationserver::SearchForLargeNoOfResult( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+   	const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+    
+
+    
+    // adding value
+     
+    len = strlen("a*" );
+    strcpy( smsg + index, "a*" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+    
+    
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+
+    
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;	
+	}
+
+Cisolationserver::SearchKeyValueInvalidParam2( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch );
+   
+     if ( msg_struct->response != 0 )
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+	}
+Cisolationserver::SearchKeyValueInvalidHashValues( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding key
+    len = strlen( "firstGname" );
+    strcpy( smsg + index, "firstGname" );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("I" );
+    strcpy( smsg + index, "I" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch );
+   
+     if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+	}
+
+Cisolationserver::SearchKeyValueBlank( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding key
+    len = strlen( connect_data->key_jid );
+    strcpy( smsg + index, connect_data->key_jid );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("" );
+    strcpy( smsg + index, "" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch );
+   
+   
+   if( msg_struct->error_type != INVALID_PARAMETERES )
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+     
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+	}
+
+Cisolationserver::SearchKeyValueLargeString( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+        
+    // adding value
+    len = strlen( "Gmail is a new kind of webmail built on \
+    the idea that email can be more intuitive efficient and useful" );
+    
+    strcpy( smsg + index, "Gmail is a new kind of webmail built on \
+    the idea that email can be more intuitive efficient and useful" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+	}
+
+Cisolationserver::SearchKeyValueSpecialChar( CStifItemParser& aItem )
+	{
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("happy_123@chat.gizmoproject.com" );
+    strcpy( smsg + index, "happy_123@chat.gizmoproject.com" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }    
+    
+    
+    
+    //search message end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+	}
+
+    // -----------------------------------------------------------------------------
+// Cisolationserver::RejectAddRequestFromUser
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//RejectAddRequestFromUser
+TInt Cisolationserver::RejectAddRequestFromUser( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	// getting add notification from user
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    
+	do  {
+    	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	  //  memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ETrying_To_Add_Contact_Publish);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    char *userid = (char *)malloc(100);
+    len=0;
+    len+=sizeof(message_hdr_resp);
+    strcpy(userid,rmsg+len);
+    
+    
+    
+
+    // rejecting add request from user 
+    
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EReject_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	len=0;
+    len+=strlen(userid);
+	strcpy( smsg + index ,userid   );
+    index += len + 1;
+	
+	
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EReject_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+     // -----------------------------------------------------------------------------
+// Cisolationserver::AcceptAddRequestFromUser
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+Cisolationserver::SearchAndAddContact( CStifItemParser& aItem )
+	{
+	
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("rakesh" );
+    strcpy( smsg + index, "rakesh" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    gint temp = 0;
+    gchar* add_contact = NULL;
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  
+     	{
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    //To add contact only once for the first time
+	    if ( 0 == temp && ESearch == msg_struct->hdr_req.message_type )
+	    	{
+	        // length will point to the start of the contact to be added
+		    int length = 0;
+		    length += sizeof( message_hdr_resp );
+		    
+		    while ( 0 != strcmp( "jid", rmsg + length ) 
+		    	&& '\0' != *( rmsg + length + 1) )
+			    {
+			    length += strlen( rmsg + length ) + 1;
+			    gchar* add_contact = rmsg + length;
+			    }
+		    length += strlen( rmsg + length ) + 1;
+		    
+		    add_contact = strdup( rmsg + length );
+		    //add contact end---------------------------------------   	
+	   		temp++;
+	   	 }
+	    
+	    
+	 	} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1 )
+    	{
+    	return_value = KErrGeneral;	
+    	goto return_code;
+   		}    
+   		
+    //search message end---------------------------------------
+ 
+  //adding contact --------------------------------------------
+		   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAdd_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	// adding add contact
+    len = strlen( add_contact );
+    strcpy( smsg + index, add_contact );
+    index += len + 1;
+    smsg[index++]='\0';
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    
+		} while (msg_struct->hdr_req.message_type!=EAdd_Contact_Request);
+   
+     if ( msg_struct->response != 1 )
+    {
+    	return_value = KErrGeneral;
+		goto return_code;
+    }
+ 
+ 
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;		
+	}
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::AcceptAddRequestFromUser
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+Cisolationserver::SecondSearch( CStifItemParser& aItem )
+	{
+	
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	const gchar* search_label = GetSearchLabelL(connect_data->server,connect_data->key_given_name);
+    // adding key
+    len = strlen(search_label);
+    strcpy( smsg + index, search_label );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("sharath" );
+    strcpy( smsg + index, "sharath" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    gint temp = 0;
+    gchar* add_contact = NULL;
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  
+     	{
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );		    
+	    
+	 	} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1 )
+    	{
+    	return_value = KErrGeneral;	
+    	goto return_code;
+   		}    
+   		
+    //search message end---------------------------------------
+ 
+ 
+     //second search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+
+    
+    const gchar* search_label1 = GetSearchLabelL(connect_data->server,connect_data->key_middle_name);
+    // adding key
+    len = strlen(search_label1);
+    strcpy( smsg + index, search_label1 );
+    index += len + 1;
+        
+    // adding value
+    len = strlen("Jeppu" );
+    strcpy( smsg + index, "Jeppu" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  
+     	{
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );		    
+	 	} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1 )
+    	{
+    	return_value = KErrGeneral;	
+    	goto return_code;
+   		}    
+   	
+    //search message end---------------------------------------
+ 
+ 
+ 
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;		
+	}
+
+
+TInt Cisolationserver::AcceptAddRequestFromUser( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	// getting add notification from user
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    
+	do  {
+    	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	  //  memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ETrying_To_Add_Contact_Publish);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    char *userid = (char *)malloc(100);
+    len=0;
+    len+=sizeof(message_hdr_resp);
+    strcpy(userid,rmsg+len);
+     // accepting add request from user 
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EReject_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	len=0;
+    len+=strlen(userid);
+	strcpy( smsg + index ,userid   );
+    index += len + 1;
+	
+	
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAccept_Contact_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+ 
+	  // -----------------------------------------------------------------------------
+// Cisolationserver::SendAcceptRequestWithoutReceivingAddrequest
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendAcceptRequestWithoutReceivingAddrequest( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //Accepting Add request from  contact without ne add notification --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EAccept_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	// adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++] = '\0';
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAccept_Contact_Request);
+   
+     if ( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+	  // -----------------------------------------------------------------------------
+// Cisolationserver::SendRejectRequestWithoutReceivingAddrequest
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendRejectRequestWithoutReceivingAddrequest( CStifItemParser& aItem )
+    {
+
+    	
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 0)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+   //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+    //Accepting Add request from  contact without ne add notification --------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EReject_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	// adding add contact
+    len = strlen(connect_data->contact );
+    strcpy( smsg + index, connect_data->contact );
+    index += len + 1;
+    smsg[index++] = '\0';
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EReject_Contact_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    //add contact end---------------------------------------
+    
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+
+	  // -----------------------------------------------------------------------------
+// Cisolationserver::SendAcceptRequestWithoutAnyUserID
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SendAcceptRequestWithoutAnyUserID( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	// getting add notification from user
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    
+	do  {
+    	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	  //  memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ETrying_To_Add_Contact_Publish);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    char *userid = (char *)malloc(100);
+    len=0;
+    len+=sizeof(message_hdr_resp);
+    strcpy(userid,rmsg+len);
+     // accepting add request from user 
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EReject_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	//no need to send user id with this message
+	//len=0;
+    //len+=strlen(userid);
+	//strcpy( smsg + index ,userid   );
+    //index += len + 1;
+	
+	
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EAccept_Contact_Request);
+   // need to check response
+    if ( msg_struct->response != 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+    // -----------------------------------------------------------------------------
+// Cisolationserver::SendRejectRequestWithoutAnyUserID
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//RejectAddRequestFromUser
+TInt Cisolationserver::SendRejectRequestWithoutAnyUserID( CStifItemParser& aItem )
+    {
+
+    	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    
+		
+	int timeout = 100;
+	int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    FILE *fp;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;	
+    }
+    
+ 
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+	//fetch end
+	// getting add notification from user
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    
+	do  {
+    	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	  //  memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ETrying_To_Add_Contact_Publish);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    char *userid = (char *)malloc(100);
+    len=0;
+    len+=sizeof(message_hdr_resp);
+    strcpy(userid,rmsg+len);
+    
+    
+    
+
+    // rejecting add request from user 
+    
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EReject_Contact_Request;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	//len=0;
+    //len+=strlen(userid);
+	//strcpy( smsg + index ,userid   );
+    //index += len + 1;
+	
+	
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=EReject_Contact_Request);
+   
+    if ( msg_struct->response != 0)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;
+	goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+    // -----------------------------------------------------------------------------
+// Cisolationserver::Login with correct data
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::LogoutWhileUserIsNotLoggedIn( CStifItemParser& aItem )
+    {
+  	
+    ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+
+	FILE *fp;	
+	int timeout = 100;
+	int nBytes;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+        	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;
+		goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ELogin_Request;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    //appending password
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    //appending server name
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    // appending IAP id
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    #endif
+     //running isoserver   
+    run_isoserver(); 
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    
+	//fetch end
+    
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	 result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+    if ( msg_struct->response != 1)
+    {
+    return_value = KErrGeneral;
+	goto return_code;
+    }
+    return_value = KErrNone;
+	goto return_code;
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::GetSearchLabelForYukonL
+// -----------------------------------------------------------------------------
+const gchar* Cisolationserver::GetSearchLabelForYukonL(gchar *search_key)
+{
+if(strcmp(search_key,"user") == 0)
+	{
+	gchar* label= "User";
+	return label;	
+	}
+else if(strcmp(search_key,"fn") == 0)
+	{
+	gchar* label= "Full Name";
+	return label;	
+	}	
+else if(strcmp(search_key,"first") == 0)
+	{
+	gchar* label= "Name";
+	return label;	
+	}	
+else if(strcmp(search_key,"middle") == 0)
+	{
+	gchar* label= "Middle Name";
+	return label;	
+	}		
+else if(strcmp(search_key,"last") == 0)
+	{
+	gchar* label= "Family Name";
+	return label;	
+	}
+else if(strcmp(search_key,"nick") == 0)
+	{
+	gchar* label= "Nickname";
+	return label;	
+	}
+else if(strcmp(search_key,"email") == 0)
+	{
+	gchar* label= "Email";
+	return label;	
+	}	
+else if(strcmp(search_key,"bday") == 0)
+	{
+	gchar* label= "Birthday";
+	return label;	
+	}	
+else if(strcmp(search_key,"ctry") == 0)
+	{
+	gchar* label= "Country";
+	return label;	
+	}		
+else if(strcmp(search_key,"orgname") == 0)
+	{
+	gchar* label= "Organization Name";
+	return label;	
+	}
+else if(strcmp(search_key,"locality") == 0)
+	{
+	gchar* label= "City";
+	return label;	
+	}
+else if(strcmp(search_key,"orgunit") == 0)
+	{
+	gchar* label= "Organization Unit";
+	return label;	
+	}			
+}
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::GetSearchLabelForGizmoL
+// -----------------------------------------------------------------------------
+const gchar* Cisolationserver::GetSearchLabelForGizmoL(gchar *search_key)
+{
+if(strcmp(search_key,"xmpp_user") == 0)
+	{
+	gchar* label= "Account Name";
+	return label;	
+	}
+else if(strcmp(search_key,"email_address") == 0)
+	{
+	gchar* label= "Email Address";
+	return label;	
+	}	
+else if(strcmp(search_key,"first_name") == 0)
+	{
+	gchar* label= "First Name";
+	return label;	
+	}	
+else if(strcmp(search_key,"last_name") == 0)
+	{
+	gchar* label= "Family Name";
+	return label;	
+	}
+else if(strcmp(search_key,"country") == 0)
+	{
+	gchar* label= "Country";
+	return label;	
+	}		
+else if(strcmp(search_key,"state") == 0)
+	{
+	gchar* label= "State/Province";
+	return label;	
+	}
+else if(strcmp(search_key,"city") == 0)
+	{
+	gchar* label= "City";
+	return label;	
+	}
+else if(strcmp(search_key,"max_results") == 0)
+	{
+	gchar* label= "Maximum # of Results";
+	return label;	
+	}			
+}
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::GetSearchLabelL
+// -----------------------------------------------------------------------------
+const gchar* Cisolationserver::GetSearchLabelL(gchar* aService,gchar* aSearchKey)
+{
+if(strcmp(aService,"chat.gizmoproject.com") == 0)
+	{
+	GetSearchLabelForGizmoL(aSearchKey);	
+	}
+else if(strcmp(aService,"chat.ovi.com") == 0 )
+	{
+	GetSearchLabelForYukonL(aSearchKey);	
+	}
+}
+	
+  
+// -----------------------------------------------------------------------------
+// Cisolationserver::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::AcceptAddRequestFromUser
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+Cisolationserver::GetKeysAndSearch( CStifItemParser& aItem )
+	{
+	
+	ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+		
+	int timeout = 200;
+	int nBytes;
+	TInt return_value = 0;
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+      
+    	// Read data from the CFG file
+	if ( read_data ( connect_data, aItem ) != RC_OK )
+		{
+		iLog->Log ( _L ( "read_data failed" ) );
+		free_data ( connect_data );
+		return_value = KErrGeneral;	
+    	goto return_code;
+		}
+	//request formation	
+	memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	//message header use
+	msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '0';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    run_isoserver();
+    
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+		
+	
+	/* Send Message to queueOne */
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;	
+    	goto return_code;	
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+	memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+	memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+	
+	if( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+    
+    
+    // login end
+    //fetch req..
+    for (int i= 0 ;i<3 ;i++)
+    {
+        
+    fp = fopen("c:\\fetch_contact.txt","a");
+	do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+		fwrite(rmsg,1,status,fp);
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+		          ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+	fclose(fp);	
+	
+    }
+
+	//fetch end
+ 
+ 
+ 
+    // get search keys test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ESearch_Get_Keys;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    
+		} while (msg_struct->hdr_req.message_type!= ESearch_Get_Keys );
+   
+     if ( msg_struct->response != 1)
+    	{
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    	}
+    	
+    int length = sizeof( message_hdr_resp );
+    char* search_value = NULL;
+    do  {
+		search_value = strdup ( rmsg + length );
+	    	
+		if ( !search_value )
+			{
+			return_value = KErrGeneral;	
+	    	goto return_code;
+			}  
+		length += strlen( search_value ) + 1;
+	    } while ( ( 0 != strcmp( "First Name", search_value ) )
+		    && length < status &&( free ( search_value ), search_value = NULL, 1 ) );
+    
+ 
+ 
+     
+    //search messge--------------------------------------------
+   
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = ESearch;	
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+	index += sizeof( message_hdr_req );
+	
+	
+    // adding key
+    len = strlen( search_value );
+    strcpy( smsg + index, search_value );
+    index += len + 1;
+        
+    // adding value
+    len = strlen( "santhosh" );
+    strcpy( smsg + index, "santhosh" );
+    index += len + 1;
+    
+    smsg[index++] = '\0';
+    
+    gint temp = 0;
+    gchar* add_contact = NULL;
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  
+     	{
+		memset( rmsg, '\0', MAX_MSG_SIZE );
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );		    
+	    
+	 	} while (msg_struct->hdr_req.message_type!= ESearch_State_Finished );
+   
+     if ( msg_struct->response != 1 )
+    	{
+    	return_value = KErrGeneral;	
+    	goto return_code;
+   		}    
+   		
+    //search message end---------------------------------------
+ 
+ 
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+	
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+		status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+		memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );	
+	    memset( rmsg, '\0', MAX_MSG_SIZE );
+		} while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+    	return_value = KErrGeneral;	
+    	goto return_code;
+    }
+     
+   // result = MsgQDelete(REQUEST_QUEUE, &err);
+   // result = MsgQDelete(RESPONSE_QUEUE, &err);
+    return_value = KErrNone;	
+    goto return_code;
+    
+//killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+	memset( rmsg, '\0', MAX_MSG_SIZE );
+	memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+	result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;		
+	}
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::set avatar
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::SetOwnAvatar( CStifItemParser& aItem )
+    {
+
+        
+   ConnectData  *connect_data = NULL;
+    char smsg[MAX_MSG_SIZE];
+    char rmsg[MAX_MSG_SIZE];
+    int index=0;
+    FILE *fp;
+        
+    int timeout = 200;
+    int nBytes;
+
+    int result = 0;
+    int err = 0;
+    int status = 0;
+    message_hdr_req *msgHdr = NULL;  
+    message_hdr_resp* msg_struct = NULL;
+    TInt return_value = 0;
+            // Read data from the CFG file
+    if ( read_data ( connect_data, aItem ) != RC_OK )
+        {
+        iLog->Log ( _L ( "read_data failed" ) );
+        free_data ( connect_data );
+        return_value = KErrGeneral;
+        goto return_code;
+        }
+    //request formation 
+    memset( smsg, '\0', MAX_MSG_SIZE );
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+    
+    //message header use
+    msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogin_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    
+    int len = strlen(connect_data->username);
+    strcpy( smsg + index, connect_data->username );
+    index += len + 1;
+    
+    //appending password
+    
+    len = strlen(connect_data->password );
+    strcpy( smsg + index, connect_data->password );
+    index += len + 1;
+    
+    //appending server name
+    
+    len = strlen(connect_data->server );
+    strcpy( smsg + index, connect_data->server );
+    index += len + 1;
+    
+    //appending resource
+    len = strlen(connect_data->resource );
+    strcpy( smsg + index, connect_data->resource );
+    index += len + 1;
+    
+    //appending ssl
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending server port
+    len = strlen(connect_data->port );
+    strcpy( smsg + index, connect_data->port );
+    index += len + 1;
+    
+    // appending IAP id
+    
+    smsg[index++]= '1';
+    smsg[index++]= '\0';
+    
+    //appending connmgr_bus
+    len = strlen(connect_data->connmgr_bus );
+    strcpy( smsg + index, connect_data->connmgr_bus );
+    index += len + 1;
+    
+    //appending connmgr_path
+    len = strlen(connect_data->connmgr_path );
+    strcpy( smsg + index, connect_data->connmgr_path );
+    index += len + 1;
+    
+    //appending protocol
+    len = strlen(connect_data->protocol );
+    strcpy( smsg + index, connect_data->protocol );
+    index += len + 1;
+    
+    #ifdef __WINSCW__
+    //proxy server
+    len = strlen(connect_data->proxy_data->proxy_server );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+    index += len + 1;
+    
+    //proxy port
+    len = strlen(connect_data->proxy_data->proxy_port );
+    strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+    index += len + 1;
+    
+    #endif
+    
+    //running isoserver   
+    run_isoserver(); 
+    
+        
+    //create message queue for send request
+    result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+    //create message queue for response request
+    result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+        
+    
+    /* Send Message to queueOne */
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+    
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+    
+    if (status < 0)
+    {
+    return_value = KErrGeneral;
+    goto return_code;   
+    }
+    msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+    memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+    memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+    
+    if( msg_struct->response != 1)
+    {
+        return_value = KErrGeneral;
+    goto return_code;
+    }
+    
+    
+    // login end
+
+    //fetch req..
+       for (int i= 0 ;i<3 ;i++)
+       {
+           
+       fp = fopen("c:\\fetch_contact.txt","a");
+       do  {
+           status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+           memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+           fwrite(rmsg,1,status,fp);
+           memset( rmsg, '\0', MAX_MSG_SIZE );
+           } while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+                     ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+                     ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+       fclose(fp); 
+       
+       }
+
+       //fetch end
+    //set avatar
+    TPtrC               filename;
+    TPtrC               mimetype;
+    gchar        *file_name;
+    gchar        *mime_type;
+    gchar        *filecontent; 
+    int n;
+    TBuf8<KMaxFileName> temp;
+   
+   index = 0;
+    index += sizeof( message_hdr_req );
+    // setting avatar
+    FILE *file;
+    char *buffer;
+    unsigned long fileLen;
+
+    //Open file
+    file = fopen(connect_data->image_file_name, "rb");
+    if (!file)
+        {
+        fprintf(stderr, "Unable to open file %s", file_name);
+        return;
+        }
+
+    //Get file length
+    fseek(file, 0, SEEK_END);
+    fileLen=ftell(file);
+    fseek(file, 0, SEEK_SET);
+
+   
+    //strcpy(mime_type,"image\jpeg");
+    len = fileLen + strlen(connect_data->mimetype) + 1;
+    buffer=(char *)malloc(len);
+    if (!buffer)
+        {
+        fprintf(stderr, "Memory error!");
+        fclose(file);
+        return;
+        }
+    memset( buffer, '\0', len );
+	memcpy( buffer, connect_data->mimetype, strlen(connect_data->mimetype) );
+    //Read file contents into buffer
+    
+    fread(buffer + strlen(connect_data->mimetype) + 1, fileLen, 1, file);
+    fclose(file);
+
+    //Do what ever with buffer
+    memset( smsg, '\0', MAX_MSG_SIZE );
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+    index=0;
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EUpdateOwnAvtar;    
+    // memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    /* Send Message to queueOne */
+    TInt header_size = sizeof( message_hdr_req );
+    //crashes for perticuler image.Need to fix
+    char* one_pdu = ( char* ) malloc( ONE_K_OPENC_FIX );
+    //run a loop for rest of the data and keep track of the case of nBytes being 
+    //multiple of 1020 - sizeof(msghdr) and it being not
+    //Amount of payload that can be sent
+    TInt single_read = ONE_K_OPENC_FIX - header_size;
+    //Data recieved from PublishOwnPresenceL has message header at begining
+    TInt actual_data = fileLen;
+    //No of packets needed to send the image data
+    TInt total_packets = (TInt)ceil( ( double ) ( actual_data ) / single_read );
+    //This offset moves thru the msg pointer
+    TInt navigate_offset = 0;
+    for ( TInt i = 0; i < total_packets; i++ )
+        {
+        //till the last packet size_tobe_sent will be ONE_K_OPENC_FIX
+        //last packet data is actual_data % single_read if less than single_read else ONE_K_OPENC_FIX
+        TInt size_tobe_sent = ( i < total_packets - 1 ) ? ONE_K_OPENC_FIX : 
+        ( actual_data % single_read ? 
+            actual_data % single_read  + header_size : ONE_K_OPENC_FIX );
+
+        if ( i < total_packets - 1 )
+            {
+            msgHdr->continue_flag = 1;
+            }
+        else 
+            {
+            msgHdr->continue_flag = 0;
+            }
+
+        //memcpy ( msg + header_size , msg + navigate_offset, size_tobe_sent - header_size );
+        memcpy( one_pdu , msgHdr, header_size );
+        memcpy( one_pdu + header_size, buffer + navigate_offset, size_tobe_sent - header_size );
+        result = MsgQSend ( REQUEST_QUEUE, one_pdu, size_tobe_sent, 
+                MSG_PRI_NORMAL, timeout, &err );
+        User::LeaveIfError ( result );
+        navigate_offset += single_read;
+        }
+    free(one_pdu);
+    free(buffer);
+    do  {
+    status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+    memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+    } while (msg_struct->hdr_req.message_type!=EUpdateOwnAvtar);
+
+    if ( msg_struct->response != 1)
+        {
+        return_value = KErrGeneral;
+        goto return_code;
+        }
+
+    //set avatar end     
+    // logout test code from server
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+    
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    
+    msgHdr->message_type = ELogout_Request;
+ 
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+
+    
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     do  {
+        status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+        memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+        memset( rmsg, '\0', MAX_MSG_SIZE );
+        } while (msg_struct->hdr_req.message_type!=ELogout_Request);
+   
+     if ( msg_struct->response != 1)
+    {
+        return_value = KErrGeneral;
+    goto return_code;
+    }
+    //killing isoserver
+    return_code:
+    index=0;
+    memset( smsg, '\0', MAX_MSG_SIZE );
+    memset( rmsg, '\0', MAX_MSG_SIZE );
+    memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+    msgHdr->message_type = EKill_Process;
+    memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+    index += sizeof( message_hdr_req );
+    result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+    free( msg_struct );
+    return return_value;
+    }
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::clear avatar
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::ClearOwnAvatar( CStifItemParser& aItem )
+    {
+
+    
+    ConnectData  *connect_data = NULL;
+     char smsg[MAX_MSG_SIZE];
+     char rmsg[MAX_MSG_SIZE];
+     int index=0;
+     FILE *fp;
+         
+     int timeout = 200;
+     int nBytes;
+
+     int result = 0;
+     int err = 0;
+     int status = 0;
+     message_hdr_req *msgHdr = NULL;  
+     message_hdr_resp* msg_struct = NULL;
+     TInt return_value = 0;
+             // Read data from the CFG file
+     if ( read_data ( connect_data, aItem ) != RC_OK )
+         {
+         iLog->Log ( _L ( "read_data failed" ) );
+         free_data ( connect_data );
+         return_value = KErrGeneral;
+         goto return_code;
+         }
+     //request formation 
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     
+     //message header use
+     msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     
+     msgHdr->message_type = ELogin_Request;
+  
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+     
+     int len = strlen(connect_data->username);
+     strcpy( smsg + index, connect_data->username );
+     index += len + 1;
+     
+     //appending password
+     
+     len = strlen(connect_data->password );
+     strcpy( smsg + index, connect_data->password );
+     index += len + 1;
+     
+     //appending server name
+     
+     len = strlen(connect_data->server );
+     strcpy( smsg + index, connect_data->server );
+     index += len + 1;
+     
+     //appending resource
+     len = strlen(connect_data->resource );
+     strcpy( smsg + index, connect_data->resource );
+     index += len + 1;
+     
+     //appending ssl
+     smsg[index++]= '1';
+     smsg[index++]= '\0';
+     
+     //appending server port
+     len = strlen(connect_data->port );
+     strcpy( smsg + index, connect_data->port );
+     index += len + 1;
+     
+     // appending IAP id
+     
+     smsg[index++]= '1';
+     smsg[index++]= '\0';
+     
+     //appending connmgr_bus
+     len = strlen(connect_data->connmgr_bus );
+     strcpy( smsg + index, connect_data->connmgr_bus );
+     index += len + 1;
+     
+     //appending connmgr_path
+     len = strlen(connect_data->connmgr_path );
+     strcpy( smsg + index, connect_data->connmgr_path );
+     index += len + 1;
+     
+     //appending protocol
+     len = strlen(connect_data->protocol );
+     strcpy( smsg + index, connect_data->protocol );
+     index += len + 1;
+     
+     #ifdef __WINSCW__
+     //proxy server
+     len = strlen(connect_data->proxy_data->proxy_server );
+     strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+     index += len + 1;
+     
+     //proxy port
+     len = strlen(connect_data->proxy_data->proxy_port );
+     strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+     index += len + 1;
+     
+     #endif
+     
+     //running isoserver   
+     run_isoserver(); 
+     
+         
+     //create message queue for send request
+     result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+     //create message queue for response request
+     result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+         
+     
+     /* Send Message to queueOne */
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     
+     status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+     
+     if (status < 0)
+     {
+     return_value = KErrGeneral;
+     goto return_code;   
+     }
+     msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+     memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+     memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+     
+     if( msg_struct->response != 1)
+     {
+         return_value = KErrGeneral;
+     goto return_code;
+     }
+     
+     
+     // login end
+
+     //fetch req..
+        for (int i= 0 ;i<3 ;i++)
+        {
+            
+        fp = fopen("c:\\fetch_contact.txt","a");
+        do  {
+            status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+            memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+            fwrite(rmsg,1,status,fp);
+            memset( rmsg, '\0', MAX_MSG_SIZE );
+            } while (!((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+                      ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+                      ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts))&& 0 == msg_struct->continue_flag);
+        fclose(fp); 
+        
+        }
+
+        //fetch end
+        
+        //clear avatar
+        memset( smsg, '\0', MAX_MSG_SIZE );
+        memset( rmsg, '\0', MAX_MSG_SIZE );
+        index=0;
+        memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+        msgHdr->message_type = EClearOwnAvatar;    
+        memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+        index += sizeof( message_hdr_req );
+        smsg[index++]='\0';
+        result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+         do  {
+            status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+            memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+            memset( rmsg, '\0', MAX_MSG_SIZE );
+            } while (msg_struct->hdr_req.message_type!=EClearOwnAvatar);
+       
+         if ( msg_struct->response != 1)
+        {
+            return_value = KErrGeneral;
+        goto return_code;
+        }
+             //clear avatar end     
+     // logout test code from server
+     index=0;
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     
+     msgHdr->message_type = ELogout_Request;
+  
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+      do  {
+         status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+         memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+         memset( rmsg, '\0', MAX_MSG_SIZE );
+         } while (msg_struct->hdr_req.message_type!=ELogout_Request);
+    
+      if ( msg_struct->response != 1)
+     {
+         return_value = KErrGeneral;
+     goto return_code;
+     }
+     //killing isoserver
+     return_code:
+     index=0;
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     msgHdr->message_type = EKill_Process;
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+     free( msg_struct );
+     return return_value;
+     }  
+
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::clear avatar
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cisolationserver::FetchCachedContacts( CStifItemParser& aItem )
+    {
+
+    
+    ConnectData  *connect_data = NULL;
+     char smsg[MAX_MSG_SIZE];
+     char rmsg[MAX_MSG_SIZE];
+     int index=0;
+     FILE *fp;
+         
+     int timeout = 200;
+     int nBytes;
+
+     int result = 0;
+     int err = 0;
+     int status = 0;
+     message_hdr_req *msgHdr = NULL;  
+     message_hdr_resp* msg_struct = NULL;
+     TInt return_value = 0;
+             // Read data from the CFG file
+     if ( read_data ( connect_data, aItem ) != RC_OK )
+         {
+         iLog->Log ( _L ( "read_data failed" ) );
+         free_data ( connect_data );
+         return_value = KErrGeneral;
+         goto return_code;
+         }
+     //request formation 
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     
+     //message header use
+     msgHdr = ( message_hdr_req* ) malloc( sizeof( message_hdr_req ) );
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     
+     msgHdr->message_type = ELogin_Request;
+  
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+     
+     int len = strlen(connect_data->username);
+     strcpy( smsg + index, connect_data->username );
+     index += len + 1;
+     
+     //appending password
+     
+     len = strlen(connect_data->password );
+     strcpy( smsg + index, connect_data->password );
+     index += len + 1;
+     
+     //appending server name
+     
+     len = strlen(connect_data->server );
+     strcpy( smsg + index, connect_data->server );
+     index += len + 1;
+     
+     //appending resource
+     len = strlen(connect_data->resource );
+     strcpy( smsg + index, connect_data->resource );
+     index += len + 1;
+     
+     //appending ssl
+     smsg[index++]= '1';
+     smsg[index++]= '\0';
+     
+     //appending server port
+     len = strlen(connect_data->port );
+     strcpy( smsg + index, connect_data->port );
+     index += len + 1;
+     
+     // appending IAP id
+     
+     smsg[index++]= '1';
+     smsg[index++]= '\0';
+     
+     //appending connmgr_bus
+     len = strlen(connect_data->connmgr_bus );
+     strcpy( smsg + index, connect_data->connmgr_bus );
+     index += len + 1;
+     
+     //appending connmgr_path
+     len = strlen(connect_data->connmgr_path );
+     strcpy( smsg + index, connect_data->connmgr_path );
+     index += len + 1;
+     
+     //appending protocol
+     len = strlen(connect_data->protocol );
+     strcpy( smsg + index, connect_data->protocol );
+     index += len + 1;
+     
+     #ifdef __WINSCW__
+     //proxy server
+     len = strlen(connect_data->proxy_data->proxy_server );
+     strcpy( smsg + index, connect_data->proxy_data->proxy_server );
+     index += len + 1;
+     
+     //proxy port
+     len = strlen(connect_data->proxy_data->proxy_port );
+     strcpy( smsg + index, connect_data->proxy_data->proxy_port );
+     index += len + 1;
+     
+     #endif
+     
+     //running isoserver   
+     run_isoserver(); 
+     
+         
+     //create message queue for send request
+     result = MsgQCreate(REQUEST_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+     //create message queue for response request
+     result = MsgQCreate(RESPONSE_QUEUE, MAX_MSG_Q_SIZE , MSG_Q_FIFO, &err);
+         
+     
+     /* Send Message to queueOne */
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+     
+     status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, timeout, &err); 
+     
+     if (status < 0)
+     {
+     return_value = KErrGeneral;
+     goto return_code;   
+     }
+     msg_struct = ( message_hdr_resp* ) malloc( sizeof( message_hdr_resp ) );
+     memset( msg_struct, '\0', sizeof( message_hdr_resp ) );
+     memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) );
+     
+     if( msg_struct->response != 1)
+     {
+         return_value = KErrGeneral;
+     goto return_code;
+     }
+     
+     
+     // login end
+
+     //fetch req..
+     TInt count = 0;
+            
+        fp = fopen("c:\\fetch_contact.txt","a");
+        do  {
+            status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+            memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+            fwrite(rmsg,1,status,fp);
+            memset( rmsg, '\0', MAX_MSG_SIZE );
+            
+            if ( (msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+                                  ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+                                  ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts) && 0 == msg_struct->continue_flag )
+                        {
+                        count++;
+                        }
+            
+            
+            } while (count < 3 );
+        fclose(fp); 
+
+        
+        
+
+        //fetch end
+        FILE* fop = NULL;
+        //clear avatar
+        memset( smsg, '\0', MAX_MSG_SIZE );
+        memset( rmsg, '\0', MAX_MSG_SIZE );
+        index=0;
+        memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+        msgHdr->message_type = EFetchCachedContacts;    
+        memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+        index += sizeof( message_hdr_req );
+        smsg[index++]='\0';
+        result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+        fop = fopen("c:\\santhosh.txt","a");
+        count = 0;
+        do  {
+            status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err); 
+            memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+            fwrite(rmsg,1,status,fop);
+            memset( rmsg, '\0', MAX_MSG_SIZE );
+            
+            if ( ((msg_struct->hdr_req.message_type==ECurrent_Member_Contacts) 
+                                  ||(msg_struct->hdr_req.message_type==ELocal_Pending_Contacts) 
+                                  ||(msg_struct->hdr_req.message_type==ERemote_Pending_Contacts)) && 0 == msg_struct->continue_flag )
+                        {
+                        count++;
+                        }
+            
+            
+            } while (count < 3 );
+        fclose(fop); 
+
+     //clear avatar end     
+     // logout test code from server
+     index=0;
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     
+     msgHdr->message_type = ELogout_Request;
+  
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+
+     
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err);
+      do  {
+         status = MsgQReceive(RESPONSE_QUEUE, rmsg, MAX_MSG_SIZE, 2000, &err);
+         memcpy( msg_struct, rmsg, sizeof( message_hdr_resp ) ); 
+         memset( rmsg, '\0', MAX_MSG_SIZE );
+         } while (msg_struct->hdr_req.message_type!=ELogout_Request);
+    
+      if ( msg_struct->response != 1)
+     {
+         return_value = KErrGeneral;
+     goto return_code;
+     }
+     //killing isoserver
+     return_code:
+     index=0;
+     memset( smsg, '\0', MAX_MSG_SIZE );
+     memset( rmsg, '\0', MAX_MSG_SIZE );
+     memset( msgHdr, '\0', sizeof( message_hdr_req ) );
+     msgHdr->message_type = EKill_Process;
+     memcpy( smsg, msgHdr, sizeof( message_hdr_req ) );
+     index += sizeof( message_hdr_req );
+     result = MsgQSend(REQUEST_QUEUE, smsg, index, MSG_PRI_NORMAL, timeout, &err); 
+     free( msg_struct );
+     return return_value;
+     }  
+
+// -----------------------------------------------------------------------------
+// Cisolationserver::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*
+TInt Cisolationserver::?member_function(
+   CItemParser& aItem )
+   {
+
+   ?code
+
+   }
+*/
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+//  [End of File] - Do not remove