networkprotocolmodules/common/suplrrlpasn1/inc/suplmessagebase.h
changeset 57 3267d9ea3e98
parent 48 81c9bee26a45
child 61 a2244af7b395
--- a/networkprotocolmodules/common/suplrrlpasn1/inc/suplmessagebase.h	Tue Jul 13 12:25:28 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-// Copyright (c) 2007-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:
-//
-
-/**
- @file
- @internalTechnology
- 
-*/
-#ifndef LBS_SUPL_MESSAGE_BASE_H
-#define LBS_SUPL_MESSAGE_BASE_H
-
-#include "suplmessagecommon.h"
-
-// forward declarations
-class TLbsNetPosCapabilities;
-class TPositionInfoBase;
-class TCourse;
-class ASN1T_ULP_PDU;
-class ASN1C_ULP_PDU;
-class ASN1PEREncodeBuffer;
-class ASN1T_SETCapabilities;
-class ASN1T_Position;
-class ASN1T_LocationId;
-class ASN1T_Velocity;
-
-
-/**
-CSuplMessageBase is an abstract class providing a base definition for SUPL
-messages either received or constructed for sending. Concrete classes derived 
-from this class represent each of the supported SUPL message types, and provide
-methods for accessing and setting their member parameters.
-
-When building outgoing messages, the constructor must be called with 
-aIsOutgoingMessage set to ETrue. This results in the internal data members 
-necessary for building and encoding an outgoing message.
-
-For received messages, the SUPL ASN1 Decoder object (see csuplasn1decoder.h)
-calls SetDecodedData(), passing the decoded data structures (ownership is passed
-immediately on entrance to this method). Note that these data structures are 
-defined by compilation of the SUPL definition using a third party ASN1 compiler
-and therefore do not conform to standard Symbian naming conventions. 
-
-Types encapsulating common parts for operation within the SUPL Protocol Module
-are described in file suplmessagecommon.h
-
-@internalTechnology
-*/
-NONSHARABLE_CLASS(CSuplMessageBase) : public CBase
-	{
-public:
-	
-	/** TSuplMessageType typedef */
-	typedef TUint32 TSuplMessageType;
-
-	enum _TSuplMessageType
-		{	
-	  	ESuplInit = 0,
-	  	ESuplStart,
-	  	ESuplResponse,
-	  	ESuplPosInit,
-	  	ESuplPos,
-	  	ESuplEnd,
-	  	ESuplAuthReq,
-	  	ESuplAuthResp,
-	  	
-	  	ESuplMessageLimit	
-		};
-		
-protected:
-	CSuplMessageBase(TSuplMessageType aType, TBool aIsOutgoingMessage);
-
-public:
-	virtual ~CSuplMessageBase();
-	
-public:
-	/** Encode a populated outgoing message */
-	IMPORT_C TInt EncodeToL(TPtr8& aBuf);
-	
-	/** Methods for populating common parameters for outgoing messages */
-
-	/** Set the SUPL version used (for outgoing messages) */
-	IMPORT_C void SetVersion(CSuplVersion& aVersion);
-
-	/** Set the SUPL Session ID (for outgoing messages) */
-	IMPORT_C TInt SetSessionId(CSuplSessionId& aSessionId);
-	
-	/** Methods for accessing content of decoded received messages */
-	
-	/** Returns the message type */
-	IMPORT_C CSuplMessageBase::TSuplMessageType MessageType();
-
-	/** Populates aVersion with the SUPL version (for received messages) */
-	IMPORT_C TInt GetVersion(CSuplVersion& aVersion);
-
-	/** Populates aSessionId with the SUPL Session ID (for received messages) */
-	IMPORT_C TInt GetSessionId(CSuplSessionId& aSessionId);
-	
-	/** Prints the content of the data structure to the logger */
-	IMPORT_C void LogMessageContent();
-
-public:
-	/** Assign decoded ASN1 data. (for received messages) 
-	    Not intended for DLL export */
-	void SetDecodedData(ASN1T_ULP_PDU* aData, ASN1C_ULP_PDU* aControl);
-
-private:
-	/** Prohibit copy constructor */
-	CSuplMessageBase(const CSuplMessageBase&);
-
-	/** Prohibit assigment operator */
-	CSuplMessageBase& operator= (const CSuplMessageBase&);
-	
-protected:
-	/** second stage constructor */
-	void ConstructL();
-
-	/** checks for memory allocation failure and leaves */
-	void LeaveIfAllocErrorL();
-	
-	/** translates ASN1 run-time errors */
-	TInt ProcessAsn1Error(TInt aError);
-	
-	/** methods for outgoing SUPL parameters common to multiple messages */
-	TInt PopulateSetCapabilities(const TLbsNetPosCapabilities& aCapsSource, ASN1T_SETCapabilities& aCapsTarget);
-	TInt PopulateLocationId(const CSuplLocationId& aLocSource, ASN1T_LocationId& aLocTarget);
-	TInt PopulatePosition(const TPositionInfoBase& aPosSource, ASN1T_Position& aPosTarget);
-	TInt PopulateVelocity(const TCourse& aCourse, ASN1T_Velocity& aVelTarget);
-	
-	/** common calculation methods */
-	TInt Uncertainty(const TReal32& aDistance);
-	TInt UncertaintyAltitude(const TReal32& aDistance);
-	TInt EncodeAltitude(const TReal32& aAltitude);
-
-protected:
-	// Message type identifier
-	TSuplMessageType iSuplMessageType;
-	
-	TBool iIsOutgoingMessage;
-
-	// SUPL message data structure and C++ management class for the data.
-	ASN1T_ULP_PDU* iData;
-	ASN1C_ULP_PDU* iControl;		
-
-	// Buffer management object for encoding ASN.1 PER data stream
-	ASN1PEREncodeBuffer* iEncodeBuffer;
-	
-	// Buffer for storing timestamp translated to UTC format YYMMDDhhmmssZ
-	TBuf8<13> iUtcTime; 
-	};
-
-#endif // LBS_SUPL_MESSAGE_BASE_H