--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omasuplasnconverterstubimpl/src/asnimplementationbase.cpp Thu Jan 14 07:14:53 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2009 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: Implementation of ASN plugin
+*
+*/
+
+#include "asnimplementationbase.h"
+#include <e32base.h>
+#include "epos_comasuplstart.h"
+#include "epos_comasuplresponse.h"
+#include "epos_comasuplposinit.h"
+#include "epos_comasuplpos.h"
+#include "epos_comasuplinit.h"
+#include "epos_comasuplend.h"
+#include "epos_comasuplauthrequest.h"
+#include "epos_comasuplauthresponse.h"
+#include "cstubsuplstart.h"
+#include "cstubsuplresponse.h"
+#include "cstubsuplposinit.h"
+#include "cstubsuplpos.h"
+#include "cstubsuplinit.h"
+#include "cstubsuplend.h"
+#include "cstubsuplauthrequest.h"
+#include "cstubsuplauthresponse.h"
+
+CAsnImplementationBase::CAsnImplementationBase()
+ {
+
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::NewL
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CAsnImplementationBase* CAsnImplementationBase::NewL()
+ {
+ CAsnImplementationBase* self = new (ELeave) CAsnImplementationBase;
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::EncodeL
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+HBufC8* CAsnImplementationBase::EncodeL(COMASuplAsnMessageBase* asnMessage, TInt& aErrorCode)
+ {
+ //Initialize your library for encoding...
+
+ //Encoding operations to be done here!!
+ HBufC8* encodedBuffer;
+ if ( asnMessage )
+ encodedBuffer = asnMessage->EncodeL(aErrorCode);
+ else
+ encodedBuffer = NULL;
+
+ return encodedBuffer;
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::DecodeL
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+COMASuplAsnMessageBase* CAsnImplementationBase::DecodeL(const TPtrC8& /*aPacket*/,TInt& aErrorCode,TInt& aUnConsumedBytes )
+ {
+ COMASuplAsnMessageBase* self = NULL;
+ aErrorCode = 0;
+ aUnConsumedBytes = 0;
+
+ //Decoding operations to be done here!!!
+ //Here you will have to decode the buffer using your own ASN library and return the object of appropriate SUPL message class.
+ //e.g. if you finds that decoded message is SUPL_RESPONSE,create object of SUPL_RESPONSE class and call appropriate set methods to fill its all mandatory
+ //and optional methods. For demostration purpose, here are some set methods for SUPL_RESPONSE
+ //
+ //CStubSuplResponse* lOMASuplResponse = CStubSuplResponse::NewL();
+ //CleanupStack::PushL(lOMASuplResponse);
+ //TOMASuplVersion lVersion;
+ //TInt lMajor = 1;
+ //TInt lMinor = 0;
+ //TInt lServInd; = 0;
+ //lVersion.SetSuplVersion(lMajor,lMinor,lServInd);
+ //COMASuplSessionID* lSessionId = COMASuplSessionID::NewL();//Set all parameters needed for session id.
+ //lOMASuplResponse->SetMessageBase(lVersion, lSessionId);
+ //lOMASuplResponse->SetMessageLength(20);
+ //TInt lPosMethod = 1;
+ //lOMASuplResponse->SetSuplResponse((TOMASuplPosMethod)lPosMethod);
+ //CleanupStack::Pop();
+ //aErrorCode = KErrNone;
+ //aUnConsumedBytes = 0;
+ // return lOMASuplResponse;
+
+ return self;
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::CreateOMASuplMessageL
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+COMASuplAsnMessageBase* CAsnImplementationBase::CreateOMASuplMessageL(COMASuplAsnMessageBase::TSuplMessageType aOMASuplMessageType)
+ {
+ COMASuplAsnMessageBase* suplMsg = NULL;
+ // Creating operations!!
+ switch ( aOMASuplMessageType )
+ {
+ case COMASuplAsnMessageBase::ESUPL_START :
+ {
+ suplMsg = CStubSuplStart::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_RESPONSE :
+ {
+ suplMsg = CStubSuplResponse::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_POSINIT :
+ {
+ suplMsg = CStubSuplPosInit::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_POS :
+ {
+ suplMsg = CStubSuplPos::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_INIT :
+ {
+ suplMsg = CStubSuplInit::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_END :
+ {
+ suplMsg = CStubSuplEnd::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_AUTH_REQ :
+ {
+ suplMsg = CStubSuplAuthRequest::NewL();
+ break;
+ }
+ case COMASuplAsnMessageBase::ESUPL_AUTH_RESP :
+ {
+ suplMsg = CStubSuplAuthResponse::NewL();
+ break;
+ }
+ default : break ;
+ }
+ return suplMsg;
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::~CAsnImplementationBase
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+CAsnImplementationBase::~CAsnImplementationBase()
+ {
+
+ }
+// -----------------------------------------------------------------------------
+// CAsnImplementationBase::ConstructL
+// Other Items were commented in a header
+// -----------------------------------------------------------------------------
+//
+void CAsnImplementationBase::ConstructL()
+ {
+ }
+
+TOMASuplVersion CAsnImplementationBase::GetSuplMessageVersionL(TInt& aErrorCode,const TPtrC8& aSuplAsnMessage)
+ {
+ TOMASuplVersion version;
+ return version;
+ }
\ No newline at end of file