--- 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