MSmlDmCallback Class Reference

class MSmlDmCallback

This class is callback interface which is implemented in DM Module. An instance is passed by reference as an argument to the CSmlDmAdapter::NewL() function. This interface is mostly used for returning results and status codes for completed commands to the DM framework. The interface also has functionality for mapping LUIDs and fetching from other parts of the DM Tree. The adapter does not necessarily need to use any other functions but the SetStatusL and SetResultsL, if it handles the LUID mapping itself.

Member Functions Documentation

FetchLinkL(const TDesC8 &, CBufBase &, MSmlDmAdapter::TError &)

voidFetchLinkL(const TDesC8 &aURI,
CBufBase &aData,
MSmlDmAdapter::TError &aStatus
)[pure virtual]

The function is used to make a fetch to other adapters. The most common use is to make a fetch to the AP adapter, because when managing the access points, the data comes as URI. For example, there are ToNAPId field in some adapters, and data to it can be something like AP/IAPidx, and then the link to AP adapter is needed. Using FetchLinkL causes the DM Framework to make a Get request to the appropriate DM adapter. The receiving adapter MUST complete the Get request synchronously.

Parameters

const TDesC8 & aURIURI of the object.
CBufBase & aDataReference to data, i.e. data is returned here
MSmlDmAdapter::TError & aStatusThe status of fetch command is returned here

GetLuidAllocL(const TDesC8 &)

HBufC8 *GetLuidAllocL(const TDesC8 &aURI)[pure virtual]

The function returns the LUID which is mapped to aURI. If LUID is not found, the function allocates a null length string, i.e. the function allocates memory in every case.

Parameters

const TDesC8 & aURIURI of the object.

RemoveMappingL(TUint32, const TDesC8 &, TBool)

TInt RemoveMappingL(TUint32aAdapterId,
const TDesC8 &aURI,
TBoolaChildAlso
)[pure virtual]

The function is used to remove a mapped URI. Returns the error code about mapping removal.

Parameters

TUint32 aAdapterIdSettings Adapter id
const TDesC8 & aURIMapped Uri
TBool aChildAlsoIndicates the child nodes removal

SetMappingL(const TDesC8 &, const TDesC8 &)

voidSetMappingL(const TDesC8 &aURI,
const TDesC8 &aLUID
)[pure virtual]

The function passes map information to DM Module. This function is called for a new management object, both for node objects and for leaf objects. In addition if ChildURIListL() function has returned new objects a mapping information of the new objects must be passed. A mapping is treated as inheritable. If the mapping is not set with this function, the mapping LUID of the parent object is passed in following commands to the object.

Parameters

const TDesC8 & aURIURI of the object.
const TDesC8 & aLUIDLUID of the object. LUID must contain the all information, which is needed for retrieve the invidual object from the database. Typically it is ID for the database table. In more complicated structures it can be combination of IDs, which represent path to the object.

SetResultsL(TInt, CBufBase &, const TDesC8 &)

voidSetResultsL(TIntaResultsRef,
CBufBase &aObject,
const TDesC8 &aType
)[pure virtual]

The function is used to return the data in case of FetchLeafObjectL(), FetchLeafObjectSizeL() and ChildURIListL() functions. It should not be called where the DM command has failed, i.e. the error code returned in SetStatusL is something other than EOk.

Parameters

TInt aResultsRefReference to correct command
CBufBase & aObjectThe data which should be returned
const TDesC8 & aTypeMIME type of the object

SetResultsL(TInt, RReadStream *&, const TDesC8 &)

voidSetResultsL(TIntaResultsRef,
RReadStream *&aStream,
const TDesC8 &aType
)[pure virtual]

The function is used to return the data in case of FetchLeafObjectL() and ChildURIListL() functions, where the size of the data being returned is large enough for the Adapter to stream it. This function should not be called when command was failed, i.e. the error code returned in SetStatusL is something other than EOk.

Parameters

TInt aResultsRefReference to correct command
RReadStream *& aStreamLarge data which should be returned, DM engine closes stream when it has read all the data
const TDesC8 & aTypeMIME type of the object

SetStatusL(TInt, MSmlDmAdapter::TError)

voidSetStatusL(TIntaStatusRef,
MSmlDmAdapter::TErroraErrorCode
)[pure virtual]

The function returns information about the Add,Update,Delete and Fetch commands success to DM engine. The reference to correct command must be used when calling the SetStatusL function, the reference is got from the argument of the command functions. The SetStatusL function must be called separately for every single command.

Parameters

TInt aStatusRefReference to correct command
MSmlDmAdapter::TError aErrorCodeInformation about the command success