diff -r 9f4e37332ce5 -r 473321461bba vpnengine/agileprovisionws/src/agileprovisionservice.cpp --- a/vpnengine/agileprovisionws/src/agileprovisionservice.cpp Thu Aug 19 10:54:34 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* -* Copyright (c) 2010 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: VPN Agile provision service -* -*/ - -#include -#include -#include -#include -#include -#include -#include "agileprovisionservice.h" -#include "agileprovisiondefs.h" - - -CAgileProvisionServiceService* CAgileProvisionServiceService::NewL(MSenServiceConsumer& aObserver, MSenServiceDescription& aServiceDescription) -{ - CSenServiceConnection* pConn = CSenServiceConnection::NewLC(aObserver, aServiceDescription); - - CAgileProvisionServiceService* pNew = new (ELeave) CAgileProvisionServiceService(pConn, ETrue); // owns connection - - CleanupStack::Pop(pConn); - return pNew; -} - - -CAgileProvisionServiceService::CAgileProvisionServiceService(CSenServiceConnection* aConnection, TBool aOwnsConnection) : - iConnection(aConnection), iOwnsConnection(aOwnsConnection) -{ -} - -CAgileProvisionServiceService::~CAgileProvisionServiceService() -{ - delete iCertreq; - iCertreq=NULL; - if (iOwnsConnection) - { - delete iConnection; - } - -} - - -void CAgileProvisionServiceService::GetConfAsyncL() -{ - TPtrC8 reqStr; - - CSenSoapMessage *soapRequest = CSenSoapMessage::NewL(); - CleanupStack::PushL(soapRequest); - - TPtrC8 soapActionPtr(KSoapAction); - soapRequest->SetSoapActionL( soapActionPtr ); - - - TPtrC8 reqBodyStr(KRequest); - soapRequest->SetBodyL(reqBodyStr); - - CSenHttpTransportProperties* pHttpProperties = CSenHttpTransportProperties::NewLC(); - - using namespace CMManager; - - RCmManagerExt cmManagerExt; - cmManagerExt.OpenL(); - CleanupClosePushL( cmManagerExt ); - - RArray destinationArray; - cmManagerExt.AllDestinationsL( destinationArray ); - CleanupClosePushL(destinationArray); - TBool destinationExist=EFalse; - for (TInt i = 0; i < destinationArray.Count(); ++i) - { - RCmDestinationExt destination = cmManagerExt.DestinationL( destinationArray[i] ); - CleanupClosePushL(destination); - - if ( destination.Id() == iIapId ) - { - destinationExist=ETrue; - CleanupStack::PopAndDestroy(); //destination - break; - } - CleanupStack::PopAndDestroy(); //destination - } - destinationArray.Reset(); - destinationArray.Close(); - CleanupStack::PopAndDestroy(2); //destinationArray, cmManagerExt - - if ( destinationExist == 1 ) //ETrue - { - pHttpProperties->SetSnapIdL(iIapId); - } - else - { - pHttpProperties->SetIapIdL(iIapId); - } - - HBufC8* pSerializedProperties = pHttpProperties->AsUtf8L(); - CleanupStack::PushL(pSerializedProperties); - iConnection->SetTransportPropertiesL(*pSerializedProperties); - - TInt ret = iConnection->SendL(*soapRequest); - User::LeaveIfError( ret ); - - iTransactionId = ret ; - CleanupStack::PopAndDestroy(pSerializedProperties); - CleanupStack::PopAndDestroy(pHttpProperties); - CleanupStack::PopAndDestroy(soapRequest); -} - - -void CAgileProvisionServiceService::GetCertificateAsyncL( HBufC8* aCertReq ) -{ - TPtrC8 reqStr; - - CSenSoapMessage *soapRequest = CSenSoapMessage::NewL(); - CleanupStack::PushL(soapRequest); - soapRequest->SetSoapActionL( KSoapActionCert ); - - TBase64Codec base64Codec; - HBufC8* certreqBase64 = base64Codec.Base64EncodeLC(*aCertReq); - HBufC8* certReqBodyHeap=HBufC8::NewLC(KRequest1().Length() + KRequest2().Length() + certreqBase64->Length()); - TPtr8 certReqBodyAppend(certReqBodyHeap->Des()); - certReqBodyAppend=KRequest1; - certReqBodyAppend.Append(certreqBase64->Des()); - certReqBodyAppend.Append(KRequest2); - - TPtrC8 reqBodyStr(certReqBodyAppend); - soapRequest->SetBodyL(reqBodyStr); - - TInt ret = iConnection->SendL(*soapRequest); - User::LeaveIfError( ret ); - iTransactionId = ret; - CleanupStack::PopAndDestroy(); //certReqBodyHeap - CleanupStack::PopAndDestroy(); //certreqBase64 - CleanupStack::PopAndDestroy(); // soapRequest -} - - -void CAgileProvisionServiceService::CancelTransaction() -{ - if ( iTransactionId > 0 ) - { - iConnection->CancelTransaction( iTransactionId ); - iTransactionId = 0; - } -} - -void CAgileProvisionServiceService::ResetTransactionId() -{ - iTransactionId = 0; -}