imservices/ossprotocoladaptation/src/search/csearchgetsearchkeys.cpp
branchRCL_3
changeset 14 7797b2f86d2b
parent 13 b6f2a363adf7
child 16 cfe5eb8bb9ca
--- a/imservices/ossprotocoladaptation/src/search/csearchgetsearchkeys.cpp	Wed Apr 14 16:17:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 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:  This class handles dynamic search label-key pair storing.
-*
-*/
-
-//For malloc
-#include <stdlib.h>
-//For protocol connection host
-#include <ximpprotocolconnectionhost.h>
-//For Connection manager
-#include "cossprotocolconnectionmanager.h"
-#include "csearchgetsearchkeys.h"
-#include "msg_enums.h"
-
-#include "ossprotocolpluginlogger.h"
-//For Converting C style string to S60 style HBufC
-#include "ossprotocoladaptutils.h"
-//For open c string functions
-#include <string.h>
-
-#include <searchkeyinfo.h>
-
-#include <searchobjectfactory.h>
-#include <ximpobjectcollection.h>
-#include <protocolsearchdatahost.h>
-#include <protocolsearchfeaturedatahost.h>
-#include <ximpobjectfactory.h>
-
-/*!	/brief Documented in header file
-*/
-CSearchGetSearchKeys* CSearchGetSearchKeys::NewL( 
-    MOSSProtocolConnectionManager& aConnMan,
-    TXIMPRequestId aRequestId )
-	{
-	LOGGER ( TXT("::CSearchGetSearchKeys NewL Start") );
-	
-	CSearchGetSearchKeys* self = new ( ELeave ) CSearchGetSearchKeys( 
-				aConnMan, aRequestId );
-	
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	
-	LOGGER ( TXT("::CSearchGetSearchKeys NewL End") );
-	return self;		
-	}
-	
-
-/*!	/brief Documented in header file
-*/
-CSearchGetSearchKeys::CSearchGetSearchKeys( 
-    MOSSProtocolConnectionManager& aConnMan,
-    TXIMPRequestId aRequestId )	: 	CActive ( EPriorityNormal ),
-		iRequestId ( aRequestId ),
-		iConnMan ( aConnMan )
-	{
-	
-	LOGGER ( TXT("::CSearchGetSearchKeys Start") );
-	
-    CActiveScheduler::Add( this );
-    
-    LOGGER ( TXT("::CSearchGetSearchKeys End") );
-    
-	}
-
-/*!	/brief Documented in header file
-*/	
-CSearchGetSearchKeys::~CSearchGetSearchKeys()
-	{
-		
-	}
-
-/*!	/brief Documented in header file
-*/	
-void CSearchGetSearchKeys::DoCancel()
-	{
-		
-	}
-
-/*!	/brief Documented in header file
-*/	
-void CSearchGetSearchKeys::RunL()
-	{
-	LOGGER( TXT( "CSearchGetSearchKeys::RunL start" ) );
-	
-	User::LeaveIfError( iStatus.Int() );
-	message_hdr_resp* msg_resp = NULL;
-	
-	char* response = NULL;
-	CSearchKeyStore& keyStore = iConnMan.GetSearchKeyStore();
-	
-	response = iConnMan.DataHandler().ResponseL( iSendId );
-	
-	msg_resp = ( message_hdr_resp* ) response;
-	
-	if ( !msg_resp->response ) 
-		{
-		if ( msg_resp->error_type )
-			{
-			//Complete the request with an error				
-			iConnMan.HandleToHost().HandleRequestCompleted( iRequestId, 
-							KErrNotSupported );
-			}
-		}
-	else 
-		{
-		
-		{
-		//This part reads all the possible labels from cen rep and tries to 
-		//match the search labels got to those.. If match found search labels 
-		//are assigned appropriate Enum values
-		TInt index = sizeof( message_hdr_resp );
-		char* keyStr = NULL;
-		RPointerArray<TDesC> keyList;
-		TInt len = 0;
-		
-		while( !( *( response + index ) == '\0'
-					 && *( response + index + 1 ) == '\0' ) )
-			{
-			len = strlen( response + index ) + 1;
-			keyStr = ( char* ) User::AllocLC( len );
-			strcpy ( keyStr, response + index );
-			index += len;
-			
-			HBufC* key = OssProtocolAdapUtils::ConvertCharToTUint16LC( keyStr );
-			keyList.Append( key );
-			CleanupStack::Pop(); //key
-			CleanupStack::PopAndDestroy(); //keyStr
-			}
-		
-		keyStore.MapLabelsToEnumL( keyList );
-		}
-		//Send all the labels to XIMP/UI
-		MXIMPObjectFactory& objFact = iConnMan.HandleToHost().ObjectFactory();
-		MSearchObjectFactory& searchObjFact = iConnMan.GetSearchHost().SearchObjectFactory();
-		MXIMPObjectCollection* labelArray = objFact.NewObjectCollectionLC();
-		
-		RPointerArray<TSearchKey> lablEnum = keyStore.GetSupportedEnums();
-		
-		for ( TInt i = 0; i < lablEnum.Count(); i++ )
-			{
-			MSearchKeyInfo* srchKey = searchObjFact.NewSearchKeyInfoLC();
-			srchKey->SetType( EKey );
-			srchKey->SetKey((TSearchKey) *( lablEnum[i] ) );
-			labelArray->AddObjectL( srchKey );//ownership transfered
-			CleanupStack::Pop(); //srchKey
-			}
-		
-		RPointerArray<TDesC> label = keyStore.GetNotSupportedLabels();
-		
-		for ( TInt i = 0; i < label.Count(); i++ )
-			{
-			MSearchKeyInfo* srchLabel = searchObjFact.NewSearchKeyInfoLC();
-			srchLabel->SetType( ELabel );
-			srchLabel->SetLabelL( *( label[i] ) );
-			labelArray->AddObjectL( srchLabel );//ownership transfered
-			CleanupStack::Pop(); //srchLabel
-			}
-
-		
-		iConnMan.GetSearchHost().SearchFeatureDataAccess().HandleSearchKeysL ( 
-							 labelArray );//ownership transfered
-		iConnMan.HandleToHost().HandleRequestCompleted ( iRequestId, KErrNone );
-		
-		CleanupStack::Pop( ); //labelArray
-		}
-	
-	free( response );
-	
-	LOGGER( TXT( "CSearchGetSearchKeys::RunL end" ) );
-	delete this;
-	
-	}
-
-/*!	/brief Documented in header file
-*/	
-TInt CSearchGetSearchKeys::RunError( TInt aError )
-	{
-	LOGGER( TXT( "CSearchGetSearchKeys::RunError start" ) );	
-	
-	iConnMan.HandleToHost().HandleRequestCompleted( iRequestId, aError );
-	
-	LOGGER( TXT( "CSearchGetSearchKeys::RunError end" ) );
-	
-	return 0;
-	}
-
-/*!	/brief Documented in header file
-*/	
-void CSearchGetSearchKeys::ConstructL()
-	{
-			
-	}
-
-/*!	/brief Documented in header file
-*/	
-void CSearchGetSearchKeys::GetSearchKeysL()
-	{
-	LOGGER ( TXT("::CSearchGetSearchKeys GetSearchKeysL Start") );
-	
-	TInt len = sizeof ( message_hdr_req );
-	message_hdr_req* msgHdr = ( message_hdr_req* ) User::AllocLC( len );
-	
-	msgHdr->message_type = ESearch_Get_Keys;
-	
-	iSendId = iConnMan.DataHandler().SendDataL( iStatus, ( char* )msgHdr, 
-					len );
-	
-	SetActive();
-	
-	CleanupStack::PopAndDestroy ( 1 );//msgHdr	
-	
-	LOGGER ( TXT("::CSearchGetSearchKeys GetSearchKeysL End") );
-	}
-	
-// End of file