omadm/omadmextensions/adapters/nsmldmbmadapter/inc/nsmldmbmadapter.h
changeset 18 7d11f9a6646f
parent 4 75a71fdb4c92
child 21 c707676bf59f
--- a/omadm/omadmextensions/adapters/nsmldmbmadapter/inc/nsmldmbmadapter.h	Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,887 +0,0 @@
-/*
-* Copyright (c) 2006 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:   Device management adapter handling bearer management related settings
-*
-*/
-
-
-
-
-#ifndef NSMLDMBMADAPTER_H
-#define NSMLDMBMADAPTER_H
-
-#include <smldmadapter.h>
-
-#include "nsmldmbmsettingstore.h"
-
-class CSmlDmBmCommandElement;
-class CSmlDmBmSettingsElement;
-class CNSmlDmBmSettingStore;
-
-/**  The DDF version must be changed if any changes in DDF structure 
-( built in DDFStructureL() function ) */
-_LIT8( KNSmlDmBMAdapterDDFVersion, "1.1" ); 
-_LIT8( KNSmlDmBMAdapterTextPlain, "text/plain" );
-
-/** Names of the nodes */
-/** When updating KNSmlDmBMAdapterBMURI also update 
-KNSmlDmBmAdapterURIMaxLength! */
-_LIT8(KNSmlDmBMAdapterBMURI, "./BearerManagementSNAP");
-_LIT8(KNSmlDmBMAdapterBM, "BearerManagementSNAP");
-_LIT8(KNSmlDmBMAdapterName, "Name");
-_LIT8(KNSmlDmBMAdapterIAPPriorityList, "IAPPriorityList");
-_LIT8(KNSmlDmBMAdapterEmbeddedSNAP, "EmbeddedSNAP");
-_LIT8(KNSmlDmBMAdapterMetadata, "Metadata");
-_LIT8(KNSmlDmBMAdapterProtected, "Protected");
-_LIT8(KNSmlDmBMAdapterHidden, "Hidden");
-
-/** Descriptions of the nodes */
-_LIT8( KNSmlDmBMAdapterBMDescription, 
-       "BearerManagement provides management of Access Point groups (SNAPs)");
-_LIT8( KNSmlDmBMAdapterDynamicDescription, 
-       "Node presents a group of Access Points (SNAP)");
-_LIT8( KNSmlDmBMAdapterNameDescription, 
-       "Name of the Access Point group");
-_LIT8( KNSmlDmBMAdapterIAPPriorityListDescription, 
-       "Comma separated list of Access Point URIs in priority order.");
-_LIT8( KNSmlDmBMAdapterEmbeddedSNAPDescription, 
-       "URI of embedded Access Point group. All Access points of the Embedded \
-       SNAP are seen as also belonging to this SNAP");
-_LIT8( KNSmlDmBMAdapterMetadataDescription, 
-       "32 bit integer representing SNAP metadata. Following bitmasks indicate \
-       meaning of the individual bits: \n 0x00000001 \t Internet: The SNAP is \
-       the Internet SNAP. This may only be set to one SNAP object.\n \
-       0x00000002\tHighlight: SNAP is highlighted in certain UI dialog.\n \
-       0x00000004\tHidden: SNAP is hidden in certain UI dialog.");
-_LIT8( KNSmlDmBMAdapterProtectedDescription, 
-       "SNAP is protected with one of the following protection levels. \
-       Protected object can not be modified without NetworkControl capability \n \
-       0 \t No protection \n 1 \t SNAP and related objects \n \
-       2 \t SNAP name is protected.");
-_LIT8( KNSmlDmBMAdapterHiddenDescription, 
-       "SNAP is set as hidden in the setting store");
-
-/** Leaf nodes of snap node */
-_LIT8( KNSmlDmBMAllLeafNodes, 
-       "Name/IAPPriorityList/Metadata/Protected/Hidden/EmbeddedSNAP");
-_LIT8( KNSmlDmBMAllLeafNodesNoEmbedded, 
-       "Name/IAPPriorityList/Metadata/Protected/Hidden");
-
-/** URI of for fetching IAP nodes */
-/** When updating KNSmlDmBMAdapterIAPURI also update 
-KNSmlDmBmAdapterAPURIMaxLength! */
-_LIT8( KNSmlDmBMAdapterIAPURI, "./AP" );
-/** Node name of AP adapter root */
-_LIT8( KNSmlDmBMAdapterIAPNode, "AP" );
-/** URI segment separator */
-/** When updating this literal also update 
-KNSmlDmBmAdapterAPURIMaxLength and KNSmlDmBmAdapterURIMaxLength! */
-_LIT8( KNSmlDmBmSeparator, "/" );
-/** URI segment separator */
-/** When updating KNSmlDmBMAdapterBMURI also update 
-KNSmlDmBmAdapterAPURIMaxLength and KNSmlDmBmAdapterURIMaxLength! */
-_LIT8( KNSmlDmBmUriListSeparator, "," );
-/** Prefix in URIs (removed for LUID mapping) */
-_LIT8( KNSmlDmBmAdapterURIPrefix, "./" );
-
-/** Name prefix for unnamed snap nodes */
-_LIT8( KNSmlDmBMSNAPNamePrefix, "SNAP" );
-_LIT8( KNSmlDmBMBooleanTrue, "True" );
-_LIT8( KNSmlDmBMBooleanFalse, "False" );
-
-
-const TInt KNSmlDmBMGranularity = 4;
-const TInt KNsmlDmBmSNAPNodeDepth = 2;
-const TInt KNSmlDmBmInvalidRef = -1;
-
-/** Maximum length of snap URI including a separator character in URI List.
-Node is not calculated here. KNSmlDmBMAdapterBMURI + KNSmlDmBmSeparator + 
-KNSmlDmBmUriListSeparator
-*/
-const TInt KNSmlDmBmAdapterURIMaxLength =  24;
-
-/** Maximum length of AP URI including a separator character in URI List.
-Node is not calculated here. KNSmlDmBMAdapterIAPURI + KNSmlDmBmSeparator + 
-KNSmlDmBmUriListSeparator
-*/
-const TInt KNSmlDmBmAdapterAPURIMaxLength = 6;
-
-/** Maximum length of 32bit integer */
-const TInt KMaxLengthOf32bitInteger = 10;
-
-/**
- *  Bearer Management device management adapter
- *
- *  Bearer Management device management adapter manages settings
- *  related to Service Network Access Points (SNAPs) which are
- *  used for groupin IAPs
- *
- *  @lib nsmldmbmadapter
- *  @since S60 v3.2
- */
-class CNSmlDmBmAdapter : public CSmlDmAdapter
-    {
-    
-public:
-
-/** Possible command types */
-enum TCommandType
-    {
-    EAddCmd,
-    EGetCmd,
-    EGetSizeCmd,
-    EDeleteCmd
-    };
-
-    /**
-     * Two-phased constructor.
-     */
-    static CNSmlDmBmAdapter* NewL( MSmlDmCallback* aDmCallback );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CNSmlDmBmAdapter();
-
-
-// from base class CSmlDmAdapter
-
-    /**
-     *  The function returns current version of the DDF. 
-     *
-     *  @since S60 v3.2
-     *  @param aDDFVersion DDF version of the
-     *  adapter. (filled by the adapter) 
-     */
-    void DDFVersionL( CBufBase& aDDFVersion );
-
-    /**
-     *  The function for filling the DDF structure of the adapter
-     *
-     *  @since S60 v3.2
-     *  @param aDDF Reference to root object.
-    */
-    void DDFStructureL( MSmlDmDDFObject& aDDF );
-
-    /**
-     * The function creates new leaf objects, or replaces data in existing 
-     * leaf objects. The information about the success of the command is
-     * returned by calling SetStatusL function of MSmlDmCallback callback
-     * interface. 
-     *     
-     * @since S60 v3.2
-     * @param aURI         URI of the object
-     * @param aLUID        LUID of the object 
-     * @param aObject      Data of the object.
-     * @param aType        MIME type of the object
-     * @param aStatusRef   Reference to correct command, i.e. this reference
-     *                     must be used when calling the SetStatusL of this 
-     *                     command
-    */
-    void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID,
-                            const TDesC8& aObject, const TDesC8& aType,
-                            TInt aStatusRef );
-    /**
-     * The function deletes an object and its child objects. 
-     *
-     * @since S60 v3.2
-     * @param aURI         URI of the object
-     * @param aLUID        LUID of the object (if the adapter have earlier 
-     *                     returned LUID to the DM Module).
-     * @param aStatusRef   Reference to correct command, i.e. this reference 
-     *                     must be used when calling the SetStatusL of this 
-     *                     command.
-    */
-    void DeleteObjectL( const TDesC8& aURI, const TDesC8& aLUID,
-                        TInt aStatusRef );
-
-    /**
-     * The function fetches data of a leaf object. The SetStatusL is used
-     * as described in UpdateLeafObjectL(). The data is returned by using the
-     * SetResultsL function of MSmlCallback callback interface.
-     *
-     * @since S60 v3.2
-     * @param aURI             URI of the object
-     * @param aLUID            LUID of the object (if the adapter have 
-     *                         earlier returned LUID to the DM Module). 
-     * @param aType            MIME type of the object
-     * @param aResultsRef      Reference to correct results, i.e. this 
-     *                         reference must be used when returning the 
-     *                         result by calling the SetResultsL.
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID,
-                           const TDesC8& aType, TInt aResultsRef,
-                           TInt aStatusRef );
-
-    /**
-     * The function fetches the size of the data of a leaf object. The size 
-     * is in bytes, and must reflect the number of bytes that will be 
-     * transferred when the framework calls FetchLeafObjectL. 
-     *
-     * @since S60 v3.2
-     * @param aURI             URI of the object
-     * @param aLUID            LUID of the object (if the adapter have 
-     *                         earlier returned LUID to the DM Module).   
-     * @param aType            MIME type of the object
-     * @param aResultsRef      Reference to correct results, i.e. this 
-     *                         reference must be used when returning the 
-     *                         result by calling the SetResultsL.
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void FetchLeafObjectSizeL( const TDesC8& aURI, const TDesC8& aLUID,
-                               const TDesC8& aType, TInt aResultsRef,
-                               TInt aStatusRef );
-
-    /**
-     * The function fetches URI list. An adapter returns the list of URI 
-     * segments under the given URI be separated by slash ("/"). The URI 
-     * segment names for new objects must be given by the adapter.
-     * The list is returned by calling the SetResultsL function of 
-     * MSmlCallback callback interface. 
-     *
-     * @since S60 v3.2
-     * @param aURI                     URI of the parent object
-     * @param aLUID                    LUID of the parent object (if the
-     *                                 adapter have earlier returned LUID to
-     *                                 the DM Module).   
-     * @param aPreviousURISegmentList  URI list with mapping LUID 
-     *                                 information, which is known by DM
-     *                                 engine.  
-     * @param aResultsRef              Reference to correct results, i.e. 
-     *                                 this reference must be used when 
-     *                                 returning the result by calling the 
-     *                                 SetResultsL.
-     * @param aStatusRef               Reference to correct command, i.e. 
-     *                                 this reference must be used when 
-     *                                 calling the SetStatusL of this 
-     *                                 command.
-    */
-    void ChildURIListL( const TDesC8& aURI, const TDesC8& aLUID,
-                        const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
-                        TInt aResultsRef, TInt aStatusRef );
-
-    /**
-     * The function adds node object. 
-     *
-     * @since S60 v3.2
-     * @param aURI             URI of the object
-     * @param aParentLUID      LUID of the parent object (if the adapter have
-     *                         earlier returned LUID to the DM Module).   
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void AddNodeObjectL( const TDesC8& aURI, const TDesC8& aParentLUID,
-                         TInt aStatusRef );
-    /**
-     * The adapter does not support streaming and no implementation is 
-     * provided for this function.
-     *
-     * @since S60 v3.2
-     * @param aURI         URI of the object
-     * @param aLUID        LUID of the object
-     * @param aStream      Data of the object. 
-     * @param aType        MIME type of the object
-     * @param aStatusRef   Reference to correct command, i.e. this reference
-     *                     must be used when calling the SetStatusL of this
-     *                     command.
-    */
-    void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID,
-                            RWriteStream*& aStream, const TDesC8& aType,
-                            TInt aStatusRef );
-    /**
-     * The adapter does not support execute command and does not 
-     * provide implementation for this function. 
-     *
-     *  @since S60 v3.2
-     * @param aURI             URI of the command
-     * @param aLUID            LUID of the object
-     * @param aArgument        Argument for the command
-     * @param aType            MIME type of the object 
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID, 
-                          const TDesC8& aArgument, const TDesC8& aType, 
-                          TInt aStatusRef );
-    /**
-     * The adapter does not support execute command and does not 
-     * provide implementation for this function. 
-     *
-     * @since S60 v3.2
-     * @param aURI         URI of the command
-     * @param aLUID            LUID of the object 
-     * @param aStream      Argument for the command. 
-     * @param aType            MIME type of the object 
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID,
-                          RWriteStream*& aStream, const TDesC8& aType,
-                          TInt aStatusRef );
-    /**
-     * The adapter does not support copy command and does not 
-     * provide implementation for this function. 
-     *
-     * @since S60 v3.2
-     * @param aTargetURI       Target URI for the command
-     * @param aTargetLUID      LUID of the target object 
-     * @param aSourceURI       Source URI for the command
-     * @param aSourceLUID      LUID of the source object 
-     * @param aType            MIME type of the objects
-     * @param aStatusRef       Reference to correct command, i.e. this 
-     *                         reference must be used when calling the 
-     *                         SetStatusL of this command.
-    */
-    void CopyCommandL( const TDesC8& aTargetURI, const TDesC8& aTargetLUID, 
-                       const TDesC8& aSourceURI, const TDesC8& aSourceLUID, 
-                       const TDesC8& aType, TInt aStatusRef );
-    /**
-     * Not supported
-     *  @since S60 v3.2
-    */
-    void StartAtomicL();
-    /**
-     * Not Supported     
-     *  @since S60 v3.2
-     *
-    */
-    void CommitAtomicL();
-    /**
-     * Not supported.
-     *  @since S60 v3.2
-     */
-    void RollbackAtomicL();
-    /**
-     * Returns EFalse as the adapter does not support streaming
-     *
-     * @since S60 v3.2
-     * @param aItemSize size limit for stream usage
-     * @return TBool EFalse as streaming is not supported
-    */
-    TBool StreamingSupport( TInt& aItemSize );
-    /**
-     * Not supported
-     *
-     *  @since S60 v3.2
-    */  
-    void StreamCommittedL();
-    /**
-     * The function tells the adapter that all the commands of the message 
-     * that can be passed to the adapter have now been passed.  This 
-     * indciates that the adapter must supply status codes and results to 
-     * any buffered commands. This must be done at latest by the time this 
-     * function returns. This function is used at the end of SyncML messages, 
-     * and during processing of Atomic.  
-     *
-     *  @since S60 v3.2
-    */
-    void CompleteOutstandingCmdsL();
-    
-    /**
-     * Function checks if a SNAP with the argument URI is buffered for 
-     * later handling. If so, the function calls iSettingStore object 
-     * to store the SNAP. This function is called by the iSettingStore 
-     * object to check whether EmbeddedSNAP node referenced by a command is 
-     * still in the buffer and needs to be stored first.
-     *
-     * @since S60 v3.2
-     * @param aURI Descriptor containing the SNAP URI
-     */    
-    void StoreSnapIfBufferedL( const TDesC8& aURI );
-
-
-    /**
-     * Function returns a pointer to a HBufC object containing  a SNAP URI 
-     * which correcponds to the argument LUID.
-     *
-     * @since S60 v3.2
-     * @param aSnapId LUID of SNAP object
-     * @return Descriptor containing the SNAP URI. 
-     */    
-    HBufC8* GetSnapUriFromLuidL( const TUint aSnapId );
-
-
-    /**
-     * Function returns a pointer to HBufC object containing a 
-     * comma separated list of IAP URIs according to the IAP LUIDs
-     * contained in the argument array.
-     *
-     * @since S60 v3.2
-     * @param aIdArray Array of IAP LUIDs for which the URI list is formed.
-     * @return HBufC object containing a comma separated list of IAP URIs
-     */
-    HBufC8* GetIapListL( const RArray<TUint>& aIdArray );
-
-
-    /**
-     * Function returns an array containing the LUIDs of IAP URIs listed in 
-     * argument descriptor. 
-     *
-     *  @since S60 v3.2
-     * @param aIAPList TDesC object containing a comma separated list of IAP
-     *  URIs
-     * @return Array of IAP LUIDs that correspond to the argument URI list. 
-     */    
-    RArray<TUint> GetIdArrayL( const TDesC8& aIAPList);
-
-    
-    /**
-     * Converts integer to 8bit descriptor
-     *
-     *  @since S60 v3.2
-     * @param    aLuid The integer to be converted
-     * @return    The Integer as a descriptor
-     */
-    HBufC8* IntToDes8L( TInt aLuid) const;
-
-    /**
-     * Converts 8bit descriptor to integer
-     *
-     *  @since S60 v3.2
-     * @param    aLuid The descriptor to be converted
-     * @return    Integer value of the descriptor
-     */
-    TUint DesToIntL(const TDesC8& aLuid) const;
-
-    /**
-     * Converts 8bit descriptor to a boolean value
-     * @since S60 v3.2
-     * @param aBoolDes The descriptor to be converted
-     * @param aBool A pointer to a boolean where result is stored
-     * @return ETrue if conversion was succesful, otherwise EFalse
-     */
-    TBool DesToBool(const TDesC8& aBoolDes, TBool& aBool ) const;
-
-    /**
-     * Converts boolean value to 8bit descriptor
-     * @since S60 v3.2
-     * @param    aBool The boolean value to be converted
-     * @return    The boolean value as a descriptor
-     */
-    HBufC8* BoolToDes8LC( TBool aBool) const;
-
-
-    /**
-     * The function calls the GetLuidAllocL function of the MSmlDmCallback to 
-     * get the LUID which is mapped to aURI. This function LUID is not found,  
-     * the function allocates a null length string, i.e. the function
-     * allocates memory in every case.
-     * @since S60 v3.2
-     * @param aURI  URI of the object. 
-     */
-    HBufC8* GetLuidAllocL( const TDesC8& aURI );
-
-private:
-
-     /**
-     * Constructor
-     */
-    CNSmlDmBmAdapter();
-
-    /**
-     * Constructor
-     * @param aDmCallback Callback object to the framework
-     */
-    CNSmlDmBmAdapter( MSmlDmCallback* aDmCallback );
-
-    /**
-     * Second phase constructor
-     */
-    void ConstructL();
-    
-    
-    /**
-     * Searches the buffer for a SNAP with the parameter mapping name 
-     * @param aMappingName Mapping Name of this SNAP
-     * @return Pointer to the CSmlDmBmSettingsElement object in buffer. 
-     * The object is owned by the CNSmlDmBmAdapter.  
-     */
-     CSmlDmBmSettingsElement* GetSnapIfBuffered( const TDesC8& aMappingName);
-     
-    /**
-     * Returns the first URI from a list of URIs
-     * @param  aURIList Comma separated list of URIs
-     * @return    The first URI
-     */
-     TPtrC8 FirstURI(const TDesC8& aURIList) const;
-    
-    /**
-     * Returns the number of URIs in a list of URIs
-     * @param aURIList Comma-separated list of URIs
-     * @return Number of URIs in the list.  
-     */
-    TInt NumOfURIs(const TDesC8& aURIList) const;
-
-
-    /**
-     * Removes the first URI from a list of URIs
-     * @param  aURIList Comma separated list of URIs
-     * @return    The first URI
-     */
-     TPtrC8 RemoveFirstURI(const TDesC8& aURI) const;
-
-    /**
-     * Parses the last URI segment from URI
-     * @param    aURI The whole URI
-     * @return    The last URI segment
-     */
-    TPtrC8 LastURISeg(const TDesC8& aURI) const; 
-
-    /**
-     * Removes the last URI segment from URI
-     * @param    aURI The whole URI
-     * @return    The aURI without the last URI segment
-     */
-    TPtrC8 RemoveLastURISeg(const TDesC8& aURI) const;
-
-    /**
-     * Calculates the number of URI segments
-     * @param    aURI The whole URI
-     * @return    The number of URI segments
-     */
-    TInt NumOfURISegs(const TDesC8& aURI) const;
-
-    /**
-     * Checks if the URI refers to predefined SNAP (of format SNAPx) in which
-     * case operations should be successful even if passed LUID is empty.
-     * Maps the URI to found id.
-     * @param    aURI The whole URI
-     * @param    aLUID LUID
-     * @return    The SNAP ID if found
-     */
-    TInt MapPredefinedSnapsL( const TDesC8& aURI, const TDesC8& aLUID );
-    
-    /**
-     * Tries to find predefined URI string (SNAPx) fronm input
-     * returns the ID.
-     * @param    aURI The whole URI    
-     * @return    The SNAP ID if found
-     */
-    TInt GetPredefinedSnapIdFromUri( const TDesC8& aURI ) const;
-
-private: //data
-
-    /**
-     * Buffered commands. Contains a CSmlDmBmSettingsElement object 
-     * for each SNAP. THese in turn contain commands for the SNAP.
-     */
-    RPointerArray<CSmlDmBmSettingsElement> iBuffer;
-    
-    /**
-     * Setting store object, which is called for managing settings 
-     * in CommsDat. Own.
-     */
-     CNSmlDmBmSettingStore * iSettingStore;
-     
-     /**
-      * CmManager object for SNAP existence checking for
-      * direct accesses to pre-defined SNAPs    
-      */
-     RCmManagerExt iCmManagerExt;
-        
-    };
-
-
-/**
- *  CSmlDmBmCommandElement 
- *
- * Helper class, which stores a single buffered command for a SNAP. 
- *  @lib nsmldmbmadapter
- *  @since S60 v3.2
- */
-
-class CSmlDmBmCommandElement : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    static CSmlDmBmCommandElement* NewLC( TBool aLeaf, 
-                                          TInt aStatusRef, 
-                                          TInt aResultRef, 
-                                          CNSmlDmBmAdapter::TCommandType  aCmdType, 
-                                          const TDesC8& aLastUriSeg, 
-                                          const TDesC8& aData );
-
-    /**
-     * Destructor.
-     */
-     ~CSmlDmBmCommandElement();
-
-    /**
-     * Returns the iExecuted member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iExecuted member value of the object
-     */
-    inline TBool Executed();
-
-    /**
-     * Sets the iExecuted member value of the object
-     *
-     * @since S60 v3.2
-     * @param aExecuted Executed value for the object. 
-     */    
-    inline void SetExecuted( TBool aExecuted );
-    
-    /**
-     * Returns the iStatus member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iStatus value of the object
-     */
-    inline CSmlDmAdapter::TError Status();
-    
-    /**
-     * Sets the iStatus member value of the object
-     *
-     * @since S60 v3.2
-     * @param aStatus Status value for the object. 
-     */    
-    inline void SetStatus( CSmlDmAdapter::TError aStatus ); 
-    
-    /**
-     * Returns the iLeaf member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iLeaf member value of the object
-     */
-    inline TBool Leaf();
-    
-    /**
-     * Returns the iStatusRef member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iStatusRef member value of the object
-     */
-    inline TInt StatusRef();
-    
-    /**
-     * Returns the iResultRef member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iResultRef member value of the object
-     */
-    inline TInt ResultRef();
-    
-    /**
-     * Returns the iCmdType member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iCmdType member value of the object
-     */
-    inline CNSmlDmBmAdapter::TCommandType  CmdType();
-    
-    /**
-     * Returns the iData member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iData member value of the object
-     */
-    inline const HBufC8* Data();
-    
-    /**
-     * Returns the iLastUriSeg member value of the object
-     *
-     * @since S60 v3.2
-     * @return The iLastUriSeg member value of the object
-     */
-    inline const HBufC8* LastUriSeg();
-    
-    /**
-     * Sets the iData member value of the object
-     *
-     * @since S60 v3.2
-     * @param aData Data set to the object. The data will be owned by 
-     * the command object. 
-     */   
-    inline void SetDataL( const TDesC8& aData );
-
-private:
-
-    CSmlDmBmCommandElement( TBool aLeaf, 
-                            TInt aStatusRef, 
-                            TInt aResultRef, 
-                            CNSmlDmBmAdapter::TCommandType aCmdType );
-
-    void ConstructL( const TDesC8& aLastUriSeg, const TDesC8& aData );
-
-    
-private: //data
-
-    /**
-     * Has command been executed. 
-     * Set to ETrue when command is executed.
-     */
-    TBool iExecuted;
-    
-    /**
-     * The execution status of an exeuted command. 
-     * Filled in when command is executed.
-     */    
-    CSmlDmAdapter::TError iStatus;
-    
-    
-    /**
-     * True if commend is for a leaf node, False if it is for a Snap node.
-     */    
-    const TBool iLeaf;
-    
-    /**
-     * Reference for returning the status to DM framework.
-     */    
-    const TInt iStatusRef;
-    
-    /**
-     * Reference for returning result of Get command to the DM framework.
-     */    
-    const TInt iResultRef;
-    
-    /**
-     * Type of command.
-     */    
-    const CNSmlDmBmAdapter::TCommandType  iCmdType;
-    
-
-    /**
-     * Data which is either ment to be stored to setting store 
-     * or which has been fetched from there. 
-     */
-    HBufC8* iData;
-
-    /**
-     * Last segment in the command URI, which indicates the leaf node 
-     * in question. For non leaf command empty string. 
-     */    
-    HBufC8* iLastUriSeg;
-
-    };
-
-
-/**
- *  CSmlDmBmSettingsElement
- *
- * Helper class which stores information of a single SNAP object 
- * into buffer. Contains the buffered commands for the 
- * SNAP as a list of CSmlBmCommandElement objects.
- *
- *  @lib nsmldmbmadapter
- *  @since S60 v3.2
- */
-
-class CSmlDmBmSettingsElement : public CBase
-    {
- 
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-     static CSmlDmBmSettingsElement* NewLC( const TDesC8& aMappingName );
-    
-    /**
-     * Destructor.
-     */
-    ~CSmlDmBmSettingsElement();
-     
-    /**
-     * Returns a reference to iNodeBuf member.  
-     * @since S60 v3.2
-     * @return Reference to iNodeBuf member of the object
-     */
-    inline RPointerArray<CSmlDmBmCommandElement>& NodeBuf(); 
-
-    /**
-     * Returns the iMappingName member value.  
-     * @since S60 v3.2
-     * @return The iMappingName member value of the object
-     */
-    inline const HBufC8* MappingName();
-
-    /**
-     * Returns the iExecuted member value.  
-     * @since S60 v3.2
-     * @return The iExecuted member value of the object
-     */
-    inline TBool Executed();
-    
-    /**
-     * Sets the iExecuted member value.  
-     * @since S60 v3.2
-     * @param aExecuted Value for the iExecuted member of the object
-     */
-    inline void SetExecuted( TBool aExecuted );
-
-    /**
-     * Returns the iLuid member value.  
-     * @since S60 v3.2
-     * @return The iLuid member value of the object
-     */
-    inline TInt Luid();
-    
-    /**
-     * Sets the iLuid member value.  
-     * @since S60 v3.2
-     * @param aLuid Value for the iLuid member of the object
-     */
-    inline void SetLuid( TInt aLuid );
-    
-        
-private:
-
-    CSmlDmBmSettingsElement();
-
-    void ConstructL( const TDesC8& aMappingName );
-
-private: //data
-
-    /**
-     * Buffer of commands for this SNAP object. Commands 
-     * are added as they come in from the framework and 
-     * executed by the setting store.
-     */
-    RPointerArray<CSmlDmBmCommandElement> iNodeBuf;
-
-    /**
-     * Indicates whether commands for this SNAP have been executed. 
-     * Set to Erue by CNsmlDmBmSettingStore when object is handled.
-     */    
-    TBool iExecuted;
-    
-    /**
-     * LUID (Local UID) is the CommsDat id of the SNAP node. This is 
-     * filled in when SNAP object is created in CommsDat. 
-     */
-    TInt iLuid;
-
-    /**
-     * Mapping name of this SNAP node. This is mapped to the 
-     * iLuid when the Snap is created and has id. 
-     */
-    HBufC8* iMappingName;
-    };
-
-#include "nsmldmbmadapter.inl"
-
-#endif // NSMLDMBMADAPTER_H