diff -r 81c9bee26a45 -r 3267d9ea3e98 networkprotocolmodules/common/suplrrlpasn1/inc/suplpos.h --- a/networkprotocolmodules/common/suplrrlpasn1/inc/suplpos.h Tue Jul 13 12:25:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +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_POS_H -#define LBS_SUPL_POS_H - -#include "suplmessagebase.h" -#include "suplpospayload.h" -#include - -// forward declarations -class ASN1PERDecodeBuffer; -class ASN1T_PDU; -class ASN1C_PDU; - - -/** -Encapsulation for outgoing/received SUPL POS messages. - -@internalTechnology -*/ -NONSHARABLE_CLASS(CSuplPos) : public CSuplMessageBase - { -public: - IMPORT_C static CSuplPos* NewL(TBool aIsOutgoingMessage); - IMPORT_C static CSuplPos* NewLC(TBool aIsOutgoingMessage); - -public: - virtual ~CSuplPos(); - -public: - - /** Set the velocity parameter (for outgoing messages) */ - IMPORT_C TInt SetVelocity(const TPositionInfoBase& aPosInfo); - - /** Assigns the payload RRLP message (for outgoing messages) */ - IMPORT_C void SetPosPayload(CSuplPosPayload* aPayload); - - /** Returns ETrue if the position parameter is present (for received messages) */ - IMPORT_C TBool VelocityPresent(); - - /** Populates aPosInfo according to the velocity parameter (for received messages) */ - IMPORT_C TInt GetVelocity(TPositionInfoBase& aPosInfo); - - /** Returns the positioning payload (for received messages). - The calling method becomes responsible for destruction of the pos payload. */ - IMPORT_C CSuplPosPayload* PosPayload(); - -public: - - /** Encodes the SUPL POS message to the passed buffer - Called by CSuplMessageBase::EncodeToL() and not intended for DLL export */ - TInt EncodePosPayloadL(); - - /** Decodes the content of the positioning payload (for received messages) - Called by CSuplAsn1DecoderImpl::DecodeL() and not intended for DLL export */ - void DecodePosPayloadL(TInt& aError); - - void LogPayload(); - -private: - /** Constructor */ - CSuplPos(TBool aIsOutgoingMessage); - - /** second stage constructor */ - void ConstructL(); - - /** Prohibit copy constructor */ - CSuplPos(const CSuplPos&); - - /** Prohibit assigment operator */ - CSuplPos& operator= (const CSuplPos&); - -private: - - // converts speed from encoded value N to meters per second. - TReal32 ConvertHorSpeedToMetersPerSecond(TUint aSpeed); - - // converts speed accuracy from encoded value N to meters per second. - TReal32 ConvertHorSpeedAccuracyToMetersPerSecond(TUint aSpeedAccuracy); - -private: - - /** The positioning payload */ - CSuplPosPayload* iPosPayload; - - /** Objects used in decoding of the positioning payload */ - ASN1PERDecodeBuffer* iDecodeBuffer; - ASN1T_PDU* iPayloadData; - ASN1C_PDU* iPayloadPdu; - }; - -#endif // LBS_SUPL_POS_H