authenticationservices/authenticationserver/source/client/asyncresponsedecoder.cpp
branchRCL_3
changeset 62 a71299154b21
parent 61 641f389e9157
child 63 94225563cd41
--- a/authenticationservices/authenticationserver/source/client/asyncresponsedecoder.cpp	Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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: 
-* CAsyncResponseDecoder - Auth Client helper class
-*
-*/
-
-
-/**
- @file 
-*/
-
-#include <e32debug.h>
-#include <s32mem.h>
-#include "authclient_impl.h"
-
-using namespace AuthServer;
-
-namespace AuthServer
-{
-HBufC8* ExternalizeExpressionL(const CAuthExpression* aExpr);
-
-enum {  EPanicBadCmd = 1 };
-
-_LIT(KAsyncDecoderBusy, "AuthClient busy");
-
-}
-
-CAsyncResponseDecoder::CAsyncResponseDecoder(const RAuthClient& aSession) :
-	CActive(EPriorityStandard), iSession(aSession), 
-	iBufDes(0,0), iParamsPtr(0,0)
-    {
-	CActiveScheduler::Add(this);
-	}
-
-CAsyncResponseDecoder::~CAsyncResponseDecoder()
-    {
-    Cleanup();
-    }
-
-
-void CAsyncResponseDecoder::AuthenticateL(
-						   const CAuthExpression& aExpression,
-						   TTimeIntervalSeconds   aTimeout,
-						   TBool                  aClientSpecificKey,
-						   TUid 				  aClientSid,
-						   TBool                  aWithString,
-						   const TDesC& 		  aClientMessage,
-						   CIdentity*&            aIdentityResult, 
-						   TRequestStatus&        aClientStatus)
-	{
-	__ASSERT_ALWAYS(!IsActive(), User::Panic(AuthServer::KAsyncDecoderBusy, 0));
-	
-	iExpression       	     = &aExpression;
-	iResult            	     = &aIdentityResult;
-	iClientStatus            = &aClientStatus;
-	
-	//Create a flat buffer.
-  	CBufFlat* flatBuffer = CBufFlat::NewL(KDefaultBufferSize);
-  	CleanupStack::PushL(flatBuffer);
-  	
-  	//Initialize the CAuthParams object.
-  	CAuthParams* params = CAuthParams::NewL(aTimeout,
-  											aClientSpecificKey,
-											aClientSid,
-  											aWithString,
-  											aClientMessage);
-  	CleanupStack::PushL(params);
-  	
-  	//Externalize params.
-  	RBufWriteStream stream(*flatBuffer);
-  	CleanupClosePushL(stream);
-  	params->ExternalizeL(stream);
-  	CleanupStack::PopAndDestroy(2, params);
-  		
-  	iParamsBuffer = HBufC8::NewL(flatBuffer->Size());
-  	iParamsPtr.Set(iParamsBuffer->Des());
-  	flatBuffer->Read(0, iParamsPtr, flatBuffer->Size());
-  	CleanupStack::PopAndDestroy(flatBuffer);
-  
-	//Externalize the expression.
-  	iExprBuf = ExternalizeExpressionL(iExpression);
-  
-	// allocate buffer for identity result.
-	iBuffer = HBufC8::NewL(KDefaultBufferSize);
-	iBufDes.Set(iBuffer->Des());
-  
-	iArgs = new (ELeave)TIpcArgs(iExprBuf,
-								 &iParamsPtr,
-								 &iBufDes); 
-	StartCall(EAuthenticate);
-	}
-void CAsyncResponseDecoder::RegisterIdentityL(CIdentity*& aIdentity,
-											 const TDesC& aDescription,  
-											 TRequestStatus& aClientStatus)
-	{
-	__ASSERT_ALWAYS(!IsActive(), User::Panic(KAsyncDecoderBusy, 0));
-	
-	iBuffer = HBufC8::NewL(KDefaultBufferSize);
-	iBufDes.Set(iBuffer->Des());
-	iResult = &aIdentity;
-	iDescription = HBufC::NewL(aDescription.Size());
-	*iDescription = aDescription;
-	iClientStatus = &aClientStatus;
-	iArgs = new (ELeave)TIpcArgs(&iBufDes, iDescription);
-  
-	StartCall(ERegisterIdentity);
-	}
-
-void CAsyncResponseDecoder::StartCall(TAuthServerMessages aCmd)
-	{
-	iCmd = aCmd;
-	iStatus = KRequestPending;
-	*iClientStatus = KRequestPending;
-	SetActive();
-	iSession.CallSessionFunction(iCmd, *iArgs, iStatus);
-	}
-
-void CAsyncResponseDecoder::RunL() 
-	{
-	if (iStatus.Int() == KErrNone)
-		{
-		RDesReadStream readStream(*iBuffer);
-		switch (iCmd)
-			{
-			case EAuthenticate:
-				*iResult = CIdentity::InternalizeL(readStream);
-				break;
-			case ERegisterIdentity:
-				*iResult = CIdentity::InternalizeL(readStream);
-				break;
-			default:
-				User::Panic(_L("AuthClient-AsyncResponseDecoder"),
-							EPanicBadCmd);
-			}
-		}
-	User::RequestComplete(iClientStatus,iStatus.Int());
-	Cleanup();
-	}
-
-TInt CAsyncResponseDecoder::RunError(TInt aError)
-	{	
-	User::RequestComplete(iClientStatus, aError);
-	Cleanup();    			
-	return KErrNone;
-	
-	}
-
-void CAsyncResponseDecoder::DoCancel()
-	{
-	switch (iCmd)
-		{
-		case EAuthenticate:
-		case ERegisterIdentity:
-			User::RequestComplete(iClientStatus, KErrCancel);
-			break;
-		default:
-		    break;
-		}
-	Cleanup();
-    }
-
-void CAsyncResponseDecoder::Cleanup()
-    {
-	delete iArgs;
-	iArgs = 0;
-	delete iExprBuf;
-	iExprBuf = 0;
-	delete iBuffer;
-	iBuffer = 0;
-    delete iDescription;
-    iDescription = 0;
-    delete iParamsBuffer;
-    iParamsBuffer = 0;
-	iCmd = ELastService;
-	iClientStatus = 0;
-    }