MSmlDmCallback Class Reference
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.
Public Member Functions
|
void
|
FetchLinkL
(const
TDesC8
&,
CBufBase
&,
MSmlDmAdapter::TError
&)
|
HBufC8
*
|
GetLuidAllocL
(const
TDesC8
&)
|
TInt
|
RemoveMappingL
(
TUint32
, const
TDesC8
&,
TBool
)
|
void
|
SetMappingL
(const
TDesC8
&, const
TDesC8
&)
|
void
|
SetResultsL
(
TInt
,
CBufBase
&, const
TDesC8
&)
|
void
|
SetResultsL
(
TInt
,
RReadStream
*&, const
TDesC8
&)
|
void
|
SetStatusL
(
TInt
,
MSmlDmAdapter::TError
)
|
Member Functions Documentation
FetchLinkL(const TDesC8 &, CBufBase &, MSmlDmAdapter::TError &)
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
& aURI
|
URI of the object.
|
CBufBase
& aData
|
Reference to data, i.e. data is returned here
|
MSmlDmAdapter::TError
& aStatus
|
The 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
& aURI
|
URI of the object.
|
RemoveMappingL(TUint32, const TDesC8 &, TBool)
The function is used to remove a mapped URI. Returns the error code about mapping removal.
Parameters
TUint32
aAdapterId
|
Settings Adapter id
|
const
TDesC8
& aURI
|
Mapped Uri
|
TBool
aChildAlso
|
Indicates the child nodes removal
|
SetMappingL(const TDesC8 &, const TDesC8 &)
void
|
SetMappingL
|
(
|
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
& aURI
|
URI of the object.
|
const
TDesC8
& aLUID
|
LUID 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 &)
void
|
SetResultsL
|
(
|
TInt
|
aResultsRef,
|
|
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
aResultsRef
|
Reference to correct command
|
CBufBase
& aObject
|
The data which should be returned
|
const
TDesC8
& aType
|
MIME type of the object
|
SetResultsL(TInt, RReadStream *&, const TDesC8 &)
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
aResultsRef
|
Reference to correct command
|
RReadStream
*& aStream
|
Large data which should be returned, DM engine closes stream when it has read all the data
|
const
TDesC8
& aType
|
MIME type of the object
|
SetStatusL(TInt, MSmlDmAdapter::TError)
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.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.