RNSmlDMDataSession Class Reference

class RNSmlDMDataSession : public RSessionBase

DM host client implementation

Since

Inherits from

Public Member Functions
RNSmlDMDataSession()
~RNSmlDMDataSession()
voidAddNodeL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &)
voidChildURIListL(const TUint32, const TDesC8 &, const TDesC8 &, const CArrayFixFlat< TSmlDmMappingInfo > &, const TInt, const TInt)
voidClose()
voidCommitAtomicL()
voidCompleteOutstandingCmdsL()
TInt ConnectL(const TDesC &, CNSmlDmDDF *)
voidCopyCommandL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt32, const TDesC8 &)
TInt DDFStructureL(CNSmlDmMgmtTree &)
voidDeleteObjectL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &)
voidExecuteCommandL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TBool)
voidFetchLeafObjectL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt, const TInt)
voidFetchLeafObjectSizeL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt, const TInt)
voidMarkGenAlertsSent()
voidMarkGenAlertsSent(const TDesC8 &)
voidMoreDataL(CBufBase *&)
voidRollbackAtomicL()
voidStartAtomicL()
voidUpdateLeafL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TBool, const TInt)
TVersion Version()
Private Member Functions
voidHandleCallbacksL(TNSmlDmHostCallbackType)
TInt LaunchServerL(const TDesC &)
TInt SendChunkHandle()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
CNSmlDmDDF *iCallback
RChunk iChunk
HBufC8 *iLargeObjectUri
CArrayPtrSeg< HBufC8 > *iMapLuids
CArrayPtrSeg< HBufC8 > *iMapUris
TUint8 iServerId
Inherited Attributes
RHandleBase::iHandle

Constructor & Destructor Documentation

RNSmlDMDataSession()

RNSmlDMDataSession()

Constructor

~RNSmlDMDataSession()

~RNSmlDMDataSession()

Destructor

Member Functions Documentation

AddNodeL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &)

voidAddNodeL(const TUint32aAdapterId,
const TDesC8 &aLuid,
const TInt32aStatusRef,
const TDesC8 &aURI
)

Add node object in given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aLuidLuid mapped to uri
const TInt32 aStatusRefReference to status element
const TDesC8 & aURITarget URI in command

ChildURIListL(const TUint32, const TDesC8 &, const TDesC8 &, const CArrayFixFlat< TSmlDmMappingInfo > &, const TInt, const TInt)

voidChildURIListL(const TUint32aAdapterId,
const TDesC8 &aURI,
const TDesC8 &aLUID,
const CArrayFixFlat< TSmlDmMappingInfo > &aPreviousURISegmentList,
const TIntaResultsRef,
const TIntaStatusRef
)

Get child list from given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aURITarget URI in command
const TDesC8 & aLUIDLuid mapped to uri
const CArrayFixFlat< TSmlDmMappingInfo > & aPreviousURISegmentListPrevious list from tree db
const TInt aResultsRef
const TInt aStatusRefReference to status element

Close()

voidClose()

Closes the session

CommitAtomicL()

voidCommitAtomicL()

Indicates host server about the atomic commit

CompleteOutstandingCmdsL()

voidCompleteOutstandingCmdsL()

Indicates host server about the message ending

ConnectL(const TDesC &, CNSmlDmDDF *)

TInt ConnectL(const TDesC &aServerName,
CNSmlDmDDF *aDmCallback
)

Connects to correct host server. If Host server is not launhed, the function launches it

Parameters

const TDesC & aServerNameServer name
CNSmlDmDDF * aDmCallbackPointer to DDF class

CopyCommandL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt32, const TDesC8 &)

voidCopyCommandL(const TUint32aAdapterId,
const TDesC8 &aTargetLuid,
const TDesC8 &aTargetURI,
const TDesC8 &aSourceLuid,
const TDesC8 &aSourceURI,
const TInt32aStatusRef,
const TDesC8 &aType
)

Copy data in given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aTargetLuidLuid mapped to uri
const TDesC8 & aTargetURITarget URI in command
const TDesC8 & aSourceLuidSource luid mapped to uri
const TDesC8 & aSourceURISource URI in command
const TInt32 aStatusRefReference to status element
const TDesC8 & aTypeMime type of the object

DDFStructureL(CNSmlDmMgmtTree &)

TInt DDFStructureL(CNSmlDmMgmtTree &aRoot)

Gets the DDF structure from plugin adapters of corresponding host server

Parameters

CNSmlDmMgmtTree & aRootReference to root node of tree

DeleteObjectL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &)

voidDeleteObjectL(const TUint32aAdapterId,
const TDesC8 &aLuid,
const TInt32aStatusRef,
const TDesC8 &aURI
)

Delete object in given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aLuidLuid mapped to uri
const TInt32 aStatusRefReference to status element
const TDesC8 & aURITarget URI in command

ExecuteCommandL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TBool)

voidExecuteCommandL(const TUint32aAdapterId,
const TDesC8 &aLuid,
const TInt32aStatusRef,
const TDesC8 &aURI,
const TDesC8 &aObject,
const TDesC8 &aType,
const TBoolaLargeItem = EFalse
)

Execute command in given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aLuidLuid mapped to uri
const TInt32 aStatusRefReference to status element
const TDesC8 & aURITarget URI in command
const TDesC8 & aObjectData
const TDesC8 & aTypeMime type of the object
const TBool aLargeItem = EFalseTrue if object comes in multiple messages

FetchLeafObjectL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt, const TInt)

voidFetchLeafObjectL(const TUint32aAdapterId,
const TDesC8 &aURI,
const TDesC8 &aLUID,
const TDesC8 &aType,
const TIntaResultsRef,
const TIntaStatusRef
)

Get data from given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aURITarget URI in command
const TDesC8 & aLUIDLuid mapped to uri
const TDesC8 & aTypeMime type of the object
const TInt aResultsRef
const TInt aStatusRefReference to status element

FetchLeafObjectSizeL(const TUint32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TInt, const TInt)

voidFetchLeafObjectSizeL(const TUint32aAdapterId,
const TDesC8 &aURI,
const TDesC8 &aLUID,
const TDesC8 &aType,
const TIntaResultsRef,
const TIntaStatusRef
)

Get data size from given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aURITarget URI in command
const TDesC8 & aLUIDLuid mapped to uri
const TDesC8 & aTypeMime type of the object
const TInt aResultsRef
const TInt aStatusRefReference to status element

HandleCallbacksL(TNSmlDmHostCallbackType)

voidHandleCallbacksL(TNSmlDmHostCallbackTypeaCallbackType)[private]

Handles callbacks from host server

Parameters

TNSmlDmHostCallbackType aCallbackTypeCallback type

LaunchServerL(const TDesC &)

TInt LaunchServerL(const TDesC &aServerExeName)[private]

Launches server

Parameters

const TDesC & aServerExeNameServer executable name

MarkGenAlertsSent()

voidMarkGenAlertsSent()

When the generic alerts are successfully sent to the remote server, the FOTA adapter needs to be informed about this. This command is chained through the DM engine. In this function a request is issued as an IPC call.

MarkGenAlertsSent(const TDesC8 &)

voidMarkGenAlertsSent(const TDesC8 &aURI)

Parameters

const TDesC8 & aURI

MoreDataL(CBufBase *&)

voidMoreDataL(CBufBase *&aData)

Gets more data from host server in case of large object

Parameters

CBufBase *& aDataReference to data buffer where to write data

RollbackAtomicL()

voidRollbackAtomicL()

Indicates host server about the atomic rollback

SendChunkHandle()

TInt SendChunkHandle()[private]

Sends chunck handle to host server

StartAtomicL()

voidStartAtomicL()

Indicates host server about the atomic statrt

UpdateLeafL(const TUint32, const TDesC8 &, const TInt32, const TDesC8 &, const TDesC8 &, const TDesC8 &, const TBool, const TInt)

voidUpdateLeafL(const TUint32aAdapterId,
const TDesC8 &aLuid,
const TInt32aStatusRef,
const TDesC8 &aURI,
const TDesC8 &aObject,
const TDesC8 &aType,
const TBoolaLargeItem = EFalse,
const TIntaTotSizeOfLarge = 0
)

Update leaf object in given adapter

Parameters

const TUint32 aAdapterIdAdapter id
const TDesC8 & aLuidLuid mapped to uri
const TInt32 aStatusRefReference to status element
const TDesC8 & aURITarget URI in command
const TDesC8 & aObjectData
const TDesC8 & aTypeMime type of the object
const TBool aLargeItem = EFalseTrue if object comes in multiple messages
const TInt aTotSizeOfLarge = 0The overall size of the large object. Sent with the first chunk for the FOTA adapter.

Version()

TVersion Version()const

Returns server version

Member Data Documentation

CNSmlDmDDF * iCallback

CNSmlDmDDF *iCallback[private]

Pouinter to DDF class

RChunk iChunk

RChunk iChunk[private]

Handle to chunk that is used to transfer data between client and server

HBufC8 * iLargeObjectUri

HBufC8 *iLargeObjectUri[private]

Large object uri in case of incoming large object

CArrayPtrSeg< HBufC8 > * iMapLuids

CArrayPtrSeg< HBufC8 > *iMapLuids[private]

Array of Luids when host server sends mappings

CArrayPtrSeg< HBufC8 > * iMapUris

CArrayPtrSeg< HBufC8 > *iMapUris[private]

Array of URIs when host server sends mappings

TUint8 iServerId

TUint8 iServerId[private]

Id of the session, 1...4