supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstopstate.cpp
changeset 0 667063e416a2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasupltriggerstopstate.cpp	Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,275 @@
+/*
+* Copyright (c) 2002-2005 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:   Class for handling SUPL_TRIGGER_STOP message.
+*
+*/
+
+
+
+#include <hash.h>
+
+#include "epos_comasupltriggeredstop.h"
+#include "lbs/epos_eomasuplposerrors.h"
+
+#include "epos_comasupltrace.h"
+#include "epos_comasupltriggerstopstate.h"
+#include "epos_omasuplconstants.h"
+
+#include "epos_comasuplasnbase.h"
+
+_LIT(KTraceFileName,"SUPL_OMA_SESSION::EPos_COMASuplTriggerStopState.cpp");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::COMASuplTriggerStopState
+// C++ constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState::COMASuplTriggerStopState(COMASuplEnd::TOMASuplStatusCode aStatusCode,COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase):
+																	 iOMASuplAsnHandlerBase(aOMASuplAsnHandlerBase)
+    {
+			iMessageTimeOut = 0; 
+			iCurrentState = ESUPL_TRIG_STOP;   
+			iStatusCode = aStatusCode;
+			iSetStatusCode = ETrue;
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::COMASuplTriggerStopState
+// C++ constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState::COMASuplTriggerStopState(TInt aMsgTimeout, 
+                                                    COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase):
+													iOMASuplAsnHandlerBase(aOMASuplAsnHandlerBase)
+    {
+			iMessageTimeOut = aMsgTimeout; 
+			iCurrentState = ESUPL_TRIG_STOP;   
+			iSetStatusCode = EFalse;
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::COMASuplTriggerStopState
+// C++ constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState::COMASuplTriggerStopState(COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase):iOMASuplAsnHandlerBase(aOMASuplAsnHandlerBase)
+    {
+			iMessageTimeOut = 0; 
+			iCurrentState = ESUPL_TRIG_STOP; 
+			iSetStatusCode = EFalse;  
+    } 
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::~COMASuplTriggerStopState
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState::~COMASuplTriggerStopState()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void COMASuplTriggerStopState::ConstructL()
+    {
+    	COMASuplState::BaseConstructL();
+    	iTrace->Trace(_L("COMASuplTriggerStopState::ConstructL..."), KTraceFileName, __LINE__); 							
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState* COMASuplTriggerStopState::NewL(COMASuplEnd::TOMASuplStatusCode aStatusCode,COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase)
+    {
+	    COMASuplTriggerStopState* self =  new ( ELeave ) COMASuplTriggerStopState(aStatusCode,aOMASuplAsnHandlerBase);
+	    CleanupStack::PushL( self );
+	    self->ConstructL();
+	    CleanupStack::Pop(self);
+	    return self;
+    }
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState* COMASuplTriggerStopState::NewL(COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase)
+    {
+	    COMASuplTriggerStopState* self =  new ( ELeave ) COMASuplTriggerStopState(aOMASuplAsnHandlerBase);
+	    CleanupStack::PushL( self );
+	    self->ConstructL();
+	    CleanupStack::Pop(self);
+	    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+COMASuplTriggerStopState* COMASuplTriggerStopState::NewL(TInt aMsgTimeout, COMASuplAsnHandlerBase* aOMASuplAsnHandlerBase)
+    {
+	    COMASuplTriggerStopState* self =  new ( ELeave ) COMASuplTriggerStopState(aMsgTimeout, aOMASuplAsnHandlerBase);
+	    CleanupStack::PushL( self );
+	    self->ConstructL();
+	    CleanupStack::Pop(self);
+	    return self;
+    }
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::GenerateMessage
+// Generates SUPL_END message
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt COMASuplTriggerStopState::GenerateMessageL() 
+	{
+		iTrace->Trace(_L("Start of COMASuplTriggerStopState::GenerateMessage"), KTraceFileName, __LINE__); 
+		if(iMsgStateObserver)
+			{
+			iMsgStateObserver->OperationCompleteL(KErrNone);
+			return KErrNone;
+			}
+		return KErrNone;		
+	}
+	
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::EncodeMessageL
+// Encodes message ...returns encoded data
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+HBufC8* COMASuplTriggerStopState::EncodeMessageL(TOMASuplVersion &aSuplVersion,COMASuplSessionID* aSessionId,
+										 TInt &aError)
+	{
+    iTrace->Trace(_L("Start of COMASuplTriggerStopState::Encode_SUPL_TRIGGER_STOP"), KTraceFileName, __LINE__);
+		
+    COMASuplState::EncodeMessageL(aSuplVersion,aSessionId,aError);
+		
+    COMASuplAsnMessageBase* OMASuplMessageBase = iOMASuplAsnHandlerBase->CreateOMASuplMessageL(COMASuplAsnMessageBase::ESUPL_TRIG_STOP);
+    CleanupStack::PushL(OMASuplMessageBase);
+    COMASuplTriggeredStop* OMASuplTriggerStop  =  static_cast<COMASuplTriggeredStop*>(OMASuplMessageBase);
+		
+    iTrace->Trace(_L("**************** SUPL TRIGGER STOP **********************"), KTraceFileName, __LINE__);
+    iTrace->Trace(_L("Created COMASuplTriggerStop"), KTraceFileName, __LINE__); 							
+		
+    OMASuplTriggerStop->SetMessageBase(aSuplVersion,aSessionId); 
+    if(iSetStatusCode)
+        {
+        OMASuplTriggerStop->SetSuplStatusCode(iStatusCode);		
+        iTrace->Trace(_L("Status Code in SUPL_TRIGGER_STOP :"), KTraceFileName, __LINE__);
+        TBuf<64> Res;			
+        Res.AppendNum(iStatusCode);
+        iTrace->Trace(Res, KTraceFileName, __LINE__); 
+        }		
+			
+    iTrace->Trace(_L("Starting Encoding...SUPL_TRIGGER_STOP"), KTraceFileName, __LINE__);
+    TInt error = KErrNone;
+    HBufC8 *encodedBuffer = NULL;		
+    TRAPD(err,encodedBuffer = iOMASuplAsnHandlerBase->EncodeL(OMASuplTriggerStop,error));
+    CleanupStack::PopAndDestroy(OMASuplTriggerStop);
+		
+    iTrace->Trace(_L("Encoding Done..."), KTraceFileName, __LINE__); 
+		
+    if ( error == KErrNone && err == KErrNone )
+        {
+        aError = KErrNone;
+        return encodedBuffer;
+        }
+    else
+        {
+        iTrace->Trace(_L("Encoding Failed."), KTraceFileName, __LINE__); 
+        aError = error;	
+        delete encodedBuffer;
+        encodedBuffer = NULL;
+        }
+		 	
+    return NULL;
+}
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::StartTimer
+// StartTimer...starts the timer ... depending on type of message
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void COMASuplTriggerStopState::StartTimer()
+	{
+	iTrace->Trace(_L("COMASuplTriggerStopState::StartTimer...No Use."), KTraceFileName, __LINE__);
+	}
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::ProcessMessage
+// process message...
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt COMASuplTriggerStopState::ProcessMessageL(COMASuplAsnMessageBase* aDecodedMessage)
+    {
+    COMASuplTriggeredStop* OMASuplTriggerStop = static_cast <COMASuplTriggeredStop *>(aDecodedMessage);
+    OMASuplTriggerStop->GetSuplStatusCode(iStatusCode);
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// COMASuplTriggerStopState::CancelOperation
+// Cancels Operation...Cancels operation
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void COMASuplTriggerStopState::CancelOperation() 
+	{ 
+	COMASuplState::CancelOperation();	
+	iTrace->Trace(_L("COMASuplTriggerStopState::CancelOperation..."), KTraceFileName, __LINE__);
+	}	
+	
+void COMASuplTriggerStopState::PrintHex(const TDesC8& 
+#ifdef PRINT_MESSAGE
+aBuffer
+#endif
+,TInt 
+#ifdef PRINT_MESSAGE
+aLine
+#endif
+)
+	{
+#ifdef PRINT_MESSAGE
+			TBuf<256> buffer;
+			TBuf<2> buff;
+			_LIT16(KFormat1,"%02x");
+			TInt len = aBuffer.Length();
+			for(TInt i = 0 ; i <len; i++)
+				{
+					buff.Zero();
+					buff.Format(KFormat1,aBuffer[i]);
+					buffer.Append(buff);	
+					buffer.Append(_L(" "));	
+				}
+
+				iTrace->Trace(buffer, KTraceFileName, aLine); 											
+#endif
+	}
+
+COMASuplEnd::TOMASuplStatusCode COMASuplTriggerStopState::GetStatusCode()
+    {
+    return iStatusCode;
+    }    
+//  End of File
+
+
+
+