CSuplPos Class Reference

class CSuplPos : public CSuplMessageBase

Encapsulation for outgoing/received SUPL POS messages.

Inherits from

Public Member Functions
~CSuplPos()
voidDecodePosPayloadL(TInt &)
TInt EncodePosPayloadL()
IMPORT_C TIntGetVelocity(TPositionInfoBase &)
voidLogPayload()
IMPORT_C CSuplPos *NewL(TBool)
IMPORT_C CSuplPos *NewLC(TBool)
IMPORT_C CSuplPosPayload *PosPayload()
IMPORT_C voidSetPosPayload(CSuplPosPayload *)
IMPORT_C TIntSetVelocity(const TPositionInfoBase &)
IMPORT_C TBoolVelocityPresent()
Private Member Functions
CSuplPos(TBool)
CSuplPos(const CSuplPos &)
voidConstructL()
TReal32 ConvertHorSpeedAccuracyToMetersPerSecond(TUint)
TReal32 ConvertHorSpeedToMetersPerSecond(TUint)
CSuplPos &operator=(const CSuplPos &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CSuplMessageBase::CSuplMessageBase(TSuplMessageType,TBool)
CSuplMessageBase::EncodeAltitude(const TReal32 &)
CSuplMessageBase::EncodeToL(TPtr8 &)
CSuplMessageBase::GetSessionId(CSuplSessionId &)
CSuplMessageBase::GetVersion(CSuplVersion &)
CSuplMessageBase::LeaveIfAllocErrorL()
CSuplMessageBase::LogMessageContent()
CSuplMessageBase::MessageType()
CSuplMessageBase::PopulateLocationId(const CSuplLocationId &,ASN1T_LocationId &)
CSuplMessageBase::PopulatePosition(const TPositionInfoBase &,ASN1T_Position &)
CSuplMessageBase::PopulateSetCapabilities(const TLbsNetPosCapabilities &,ASN1T_SETCapabilities &)
CSuplMessageBase::PopulateVelocity(const TCourse &,ASN1T_Velocity &)
CSuplMessageBase::ProcessAsn1Error(TInt)
CSuplMessageBase::SetDecodedData(ASN1T_ULP_PDU *,ASN1C_ULP_PDU *)
CSuplMessageBase::SetSessionId(CSuplSessionId &)
CSuplMessageBase::SetVersion(CSuplVersion &)
CSuplMessageBase::Uncertainty(const TReal32 &)
CSuplMessageBase::UncertaintyAltitude(const TReal32 &)
CSuplMessageBase::~CSuplMessageBase()
Inherited Enumerations
CSuplMessageBase:_TSuplMessageType
Private Attributes
ASN1PERDecodeBuffer *iDecodeBuffer
ASN1T_PDU *iPayloadData
ASN1C_PDU *iPayloadPdu
CSuplPosPayload *iPosPayload
Inherited Attributes
CSuplMessageBase::iControl
CSuplMessageBase::iData
CSuplMessageBase::iEncodeBuffer
CSuplMessageBase::iIsOutgoingMessage
CSuplMessageBase::iSuplMessageType
CSuplMessageBase::iUtcTime

Constructor & Destructor Documentation

CSuplPos(TBool)

CSuplPos(TBoolaIsOutgoingMessage)[private]

Constructor

Parameters

TBool aIsOutgoingMessage

CSuplPos(const CSuplPos &)

CSuplPos(const CSuplPos &)[private]

Prohibit copy constructor

Parameters

const CSuplPos &

~CSuplPos()

~CSuplPos()[virtual]

Destructor

Member Functions Documentation

ConstructL()

voidConstructL()[private]

second stage constructor

Second stage constructor

ConvertHorSpeedAccuracyToMetersPerSecond(TUint)

TReal32 ConvertHorSpeedAccuracyToMetersPerSecond(TUintaSpeedAccuracy)[private]

ConvertHorSpeedAccuracyToMetersPerSecond()

Converts received speed uncertainty value N to meters per second, according to 3GPP GAD:

Uncertainty is encoded in increments of 1 kilometer per hour using an 8bit encoded number N. N is therefore the uncertainty speed in kmph, except for N=255 which indicates that the uncertainty is not specified

Parameters

TUint aSpeedAccuracy- the received, encoded uncertainty speed N.

ConvertHorSpeedToMetersPerSecond(TUint)

TReal32 ConvertHorSpeedToMetersPerSecond(TUintaSpeed)[private]

ConvertHorSpeedToMetersPerSecond()

Converts received speed value N to meters per second, according to 3GPP GAD:

for N = 0 N <= h < N+0.5 for 0 < N < 2^16-1 N-0.5 <= h < N+0.5 for N=2^16-1 N-0.5 <= h

where h = speed in km/hour

Parameters

TUint aSpeed- the received, encoded speed N.

DecodePosPayloadL(TInt &)

voidDecodePosPayloadL(TInt &aError)

Decodes the content of the positioning payload (for received messages) Called by CSuplAsn1DecoderImpl::DecodeL() and not intended for DLL export

DecodePosPayloadL()

Decodes the content of received positioning payload. Must be called before content of the payload may be accessed

Parameters

TInt & aError

EncodePosPayloadL()

TInt EncodePosPayloadL()

Encodes the SUPL POS message to the passed buffer Called by CSuplMessageBase::EncodeToL() and not intended for DLL export

EncodePosPayloadL()

Encodes the positioning payload.

GetVelocity(TPositionInfoBase &)

IMPORT_C TIntGetVelocity(TPositionInfoBase &aPosInfo)

Populates aPosInfo according to the velocity parameter (for received messages)

Velocity()

Populates aPosInfo according to the velocity parameter The parameter TPositionInfoBase must be able to store course information (eg be TPositionCourseInfo or derived) for the velocity parameter to be set.

Note that the LBS course API currently does not support vertical velocity, so vertical speed information is ignored.

Parameters

TPositionInfoBase & aPosInfo

LogPayload()

voidLogPayload()

Prints the content payload data structure to the logger

NewL(TBool)

IMPORT_C CSuplPos *NewL(TBoolaIsOutgoingMessage)[static]

Static factory constructor

Parameters

TBool aIsOutgoingMessage

NewLC(TBool)

IMPORT_C CSuplPos *NewLC(TBoolaIsOutgoingMessage)[static]

Parameters

TBool aIsOutgoingMessage

PosPayload()

IMPORT_C CSuplPosPayload *PosPayload()

Returns the positioning payload (for received messages). The calling method becomes responsible for destruction of the pos payload.

PosPayload()

Returns the decoded positioning payload for received SUPL POS messages. Note that ownership of the position payload is returned - the calling entity becomes responsible for the destruction of the positioning payload.

SetPosPayload(CSuplPosPayload *)

IMPORT_C voidSetPosPayload(CSuplPosPayload *aPayload)

Assigns the payload RRLP message (for outgoing messages)

SetPosPayload()

Assigns the payload RRLP message for outgoing messages. CSuplPos instance takes immediate ownership of the CSuplPosPayload object.

Parameters

CSuplPosPayload * aPayload

SetVelocity(const TPositionInfoBase &)

IMPORT_C TIntSetVelocity(const TPositionInfoBase &aPosInfo)

Set the velocity parameter (for outgoing messages)

SetVelocity()

Set the velocity parameter. The parameter TPositionInfoBase must contain course information (eg be TPositionCourseInfo or derived) for the velocity parameter to be set.

Parameters

const TPositionInfoBase & aPosInfo

VelocityPresent()

IMPORT_C TBoolVelocityPresent()

Returns ETrue if the position parameter is present (for received messages)

VelocityPresent()

operator=(const CSuplPos &)

CSuplPos &operator=(const CSuplPos &)[private]

Prohibit assigment operator

Parameters

const CSuplPos &

Member Data Documentation

ASN1PERDecodeBuffer * iDecodeBuffer

ASN1PERDecodeBuffer *iDecodeBuffer[private]

Objects used in decoding of the positioning payload

ASN1T_PDU * iPayloadData

ASN1T_PDU *iPayloadData[private]

ASN1C_PDU * iPayloadPdu

ASN1C_PDU *iPayloadPdu[private]

CSuplPosPayload * iPosPayload

CSuplPosPayload *iPosPayload[private]

The positioning payload