deviceupdatesui/omadmadapters/syncmlds/inc/NSmlDSSettingsAdapter.h
changeset 45 0f9fc722d255
parent 44 137912d1a556
child 46 b9b00b134b0d
--- a/deviceupdatesui/omadmadapters/syncmlds/inc/NSmlDSSettingsAdapter.h	Tue Jul 13 03:44:34 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,974 +0,0 @@
-/*
-* Copyright (c) 2005 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 DS Settings adapter header file
-*
-*/
-
-
-
-
-#ifndef __NSMLDSSETTINGSADAPTER_H__
-#define __NSMLDSSETTINGSADAPTER_H__
-
-// INCLUDES
-#include <smldmadapter.h>   //adapter interface
-#include <SyncMLClientDS.h> //DS Client API
-
-// CONSTANTS
-const TInt KNSmlDSGranularity = 4;
-const TUint8 KNSmlDMColon = ':';
-const TUint8 KNSmlDMUriSeparator = '/';
-
-//DDF accepted DS-fieldnames for DS-profile
-_LIT8( KNSmlDdfRoot,            "SyncML");
-_LIT8( KNSmlDdfAddr,				"Addr" );
-_LIT8( KNSmlDdfAddrType,			"AddrType" );
-_LIT8( KNSmlDdfPortNbr,			"PortNbr" );
-_LIT8( KNSmlDdfName,				"Name" );
-
-_LIT8( KNSmlDdfDB,				"DB" );
-_LIT8( KNSmlDdfCTType,			"CTType" );
-_LIT( KNSmlDdfCTVer,			"CTVer" );
-_LIT8( KNSmlDdfCTVerL,			"CTVerL" );
-
-_LIT8( KNSmlDdfRDBURI,			"RDBURI" );
-_LIT8( KNSmlDdfLDBURI,			"LDBURI" );
-
-_LIT8( KNSmlDdfClientUserName,	"ClientUserName" );
-_LIT8( KNSmlDdfClientPW,			"ClientPW" );
-_LIT( KNSmlDdfClientNonce,		"ClientNonce" );
-_LIT8( KNSmlDdfServerId,			"ServerId" );
-_LIT8( KNSmlDdfHidden,			"Hidden" );
-
-
-_LIT( KNSmlADdfAdapterId,		"AdapterId" );
-
-_LIT8( KNSmlDdfToNAPID,			"ToNapID" );
-_LIT( KNSmlDdfAdapterType,		"/DB/" );
-
-//DDF DS-field descriptions
-_LIT8( KNSmlDdfRootDescription,     "DS-Settings DDF description");
-_LIT8( KNSmlDdfAddrDescription,	    "DS server address" );
-_LIT8( KNSmlDdfAddrTypeDescription,	"Type of used DS server address" );
-_LIT8( KNSmlDdfPortNbrDescription,	"DS Server port number" );
-_LIT8( KNSmlDdfNameDescription,		"Displayable name for the management account" );
-
-_LIT8( KNSmlDdfDBDescription,		"DB node is parent to all Database objects" );
-_LIT( KNSmlDdfCTDescription,		"CT node is parent to all Content objects" );
-_LIT8( KNSmlDdfCTTypeDescription,	"CTType define supported media content of database" );
-_LIT( KNSmlDdfCTVerDescription,		"CTVer node is a parent to all Content Version objects" );
-_LIT( KNSmlDdfCTVerLDescription,	"CTVerL define version of supported contenttype" );
-
-_LIT8( KNSmlDdfRDBURIDescription,	"The relative or absolute URI of remote database" );
-_LIT8( KNSmlDdfLDBURIDescription,	"The relative or absolute URI of local database" );
-
-_LIT8( KNSmlDdfClientUserNameDescription,	"DS username" );
-_LIT8( KNSmlDdfServerIdDescription,     	"Server identifier" );
-_LIT8( KNSmlDdfClientPWDescription,			"A password or secret to authenticate to the server" );
-_LIT8( KNSmlDdfToNAPIDDescription,			"Logical reference to connectivity information" );
-_LIT8( KNSmlDdfHiddenDescription,			"Hidden profile (not shown on UI)" );
-
-_LIT8( KNSmlBufExe,				"BufExe" );
-
-//Default data values
-_LIT( KNSmlDefName,				"DSAdapterIns" );
-_LIT8( KNSmlDefDSAcc,			"DSAcc" );
-_LIT8( KNSmlDSStart,			"SyncML/DSAcc/DSId" );
-_LIT( KNSmlDSStartDB,			"/DB/" );
-_LIT( KNSmlDefDSIAP,			"AP" );
-_LIT8( KNSmlIAPId,			    "NSmlIapId" );
-_LIT8( KSegmDSAcc2,              "CTType/RDBURI/LDBURI" );
-
-_LIT8( KNSmlDSSettingsHTTP,  "http://" );
-_LIT8( KNSmlDSSettingsHTTPS, "https://" );
-const TInt KNSmlDSSettingsHTTPPort = 80;
-const TInt KNSmlDSSettingsHTTPSPort = 443;
-_LIT8( KNSmlDSUriDotSlash, "./");
-_LIT8( KNSmlDSSlash, "/");
-_LIT8(KVersion, "1.1");
-_LIT8( KMimeType, "text/plain" );
-_LIT8( KDSSettingsTitle, "DS-settings title" );
-
-_LIT8( KDBUri1, "SyncML/DSAcc/*/DB/*" );
-_LIT8( KDSAccMatch, "SyncML/DSAcc/*" );
-_LIT8( KDSAccMatch2, "SyncML/DSAcc/*/*" );
-_LIT8( KDSDBMatch, "SyncML/DSAcc/*/DB/*" );
-_LIT8( KDSDBMatch2, "SyncML/DSAcc/*/DB" );
-_LIT8( KSegmDSAcc,"Addr/AddrType/PortNbr/Name/DB/ClientUserName/ClientPW/ToNapID/ServerId" );
-_LIT8( KDSDBAddMatch, "*DSAcc/*/DB/*" );
-_LIT8( KDSDBAddMatch2, "*DSAcc/*/DB/*/*" );
-_LIT8( KDSDBAddMatch3, "*DSAcc/*/DB" );
-
-_LIT8( KCTTypeMatch, "*/CTType*" );
-_LIT8( KRDBUriMatch, "*/RDBURI*" );
-_LIT8( KLDBUriMatch, "*/LDBURI*" );
-
-_LIT8( KDummyTxt, "/Dummy" );
-_LIT8( KFormat, "%d" );
-_LIT8( KDSAcc1, "SyncML/DSAcc" );
-_LIT8( Kprev,"CTId" );
-_LIT8( Kprev2, "/CTId" );
-_LIT8( KDSprev,"DSId" );
-
-
-// DATA TYPES
-enum TNSmlDSFieldType
-	{
-	EStr,
-	EInt,
-	EParam,
-	EWrong
-	};
-
-enum TNSmlDSLeafType
-	{
-	EDSDelete,
-	EDSUnset
-	};
-
-enum TNSmlDSProfileDataID
-	{
-	EProfileName,
-	EProfileIAPId,
-	EProfileMediumType,
-	EProfileSyncServerUsername,
-	EProfileSyncServerPassword,
-	EProfileURL,
-	EProfilePort,
-	EProfileServerId,
-	EHiddenProfile,
-	ESyncAccepted
-	};
-
-enum TNSmlDSMediumType
-	{
-	ENone,
-    EHttp,
-	EWsp,
-    EObex
-	};
-	
-struct TNSmlDSAddElement
-	{
-	HBufC8  *iUri;
-	HBufC8 *iData;
-	TInt iStatusRef;
-	TBool iLeaf;
-	TBool iDone;
-	};
-
-struct TNSmlDSBufferElement
-	{
-	CArrayFixFlat<TNSmlDSAddElement> *iNodeBuf;
-	HBufC8* iMappingName;
-	HBufC8* iName;
-	TBool iExecuted;
-	TInt  iLuid;
-	};
-
-// FORWARD DECLARATIONS
-class CNSmlDSSettingsAdapter;
-
-/**
-*  CNSmlDSSettingsAdapter class 
-*  Contains the whole implementation of the Device Management DS settings adapter.
-*
-*  @lib nsmldssettingsadapter.dll
-*/
-class CNSmlDSSettingsAdapter : public CSmlDmAdapter
-	{
-    public: // Constructors and destructor
-	    /**
-        * Two-phased constructor.
-        */
-        static CNSmlDSSettingsAdapter* NewL(MSmlDmCallback* aDmCallback );
-	    static CNSmlDSSettingsAdapter* NewLC(MSmlDmCallback* aDmCallback );
-
-	    void ConstructL();
-    
-        /**
-        * Destructor.
-        */
-	    virtual ~CNSmlDSSettingsAdapter();
-
-    public: // Functions from base classes
-        
-        /**
-        * From      CSmlDmAdapter   DDFVersionL returns current version of the DDF.
-        * @since    Series60_3.0
-        * @param    aVersion        DDF version of the adapter.
-        * @return   none
-        */
-	    void DDFVersionL( CBufBase& aVersion );
-
-        /**
-        * From      CSmlDmAdapter   DDFStructureL for filling the DDF structure of the adapter.
-        * @since    Series60_3.0
-        * @param    aDDF            Reference to root object.
-        * @return   none
-        */
-	    void DDFStructureL( MSmlDmDDFObject& aDDF );
-
-        /**
-        * From      CSmlDmAdapter   UpdateLeafObjectL creates new leaf objects, or replaces 
-        *                           data in existing leaf objects.
-        * @since    Series60_3.0
-        * @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
-        * @return   none
-        */
-	    void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                const TDesC8& aObject, const TDesC8& aType, 
-                                const TInt aStatusRef );
-        
-        /**
-        * From      CSmlDmAdapter   DeleteObjectL deletes an object and its child objects.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @param    aLUID           LUID of the object
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-	    void DeleteObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
-                            const TInt aStatusRef ); 
-
-        /**
-        * From      CSmlDmAdapter   FetchLeafObjectL fetches data of a leaf object.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @param    aLUID           LUID of the object
-        * @param    aType           MIME type of the object
-        * @param    aResultsRef    	Reference to correct results
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-	    void FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                const TDesC8& aType, const TInt aResultsRef, 
-                                const TInt aStatusRef ); 
-        
-        /**
-        * From      CSmlDmAdapter   ChildURIListL fetches URI list.
-        * @since    Series60_3.0
-        * @param    aURI                    URI of the object
-        * @param    aLUID                   LUID of the object
-        * @param    aPreviousURISegmentList URI list with mapping LUID information
-        * @param    aResultsRef    	        Reference to correct results
-        * @param    aStatusRef              Reference to correct command
-        * @return   none
-        */
-	    void ChildURIListL( const TDesC8& aURI, const TDesC8& aLUID, 
-                            const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList, 
-                            const TInt aResultsRef, const TInt aStatusRef );  
-
-        /**
-        * From      CSmlDmAdapter   AddNodeObjectL adds node object.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @param    aParentLUID     LUID of the parent object
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-	    void AddNodeObjectL( const TDesC8& aURI, const TDesC8& aParentLUID, 
-                                const TInt aStatusRef );
-
-        /**
-        * From      CSmlDmAdapter   UpdateLeafObjectL creates new leaf objects, or replaces 
-        *                           data in existing leaf objects.
-        * @since    Series60_3.0
-        * @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
-        * @return   none
-        */
-	    void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                RWriteStream*& aStream, const TDesC8& aType, 
-                                const TInt aStatusRef );
-
-        /**
-        * From      CSmlDmAdapter   FetchLeafObjectSizeL fetches the size of a leaf object.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @param    aLUID           LUID of the object
-        * @param    aType           MIME type of the object
-        * @param    aResultsRef    	Reference to correct results
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-	    void FetchLeafObjectSizeL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                    const TDesC8& aType, const TInt aResultsRef, 
-                                    const TInt aStatusRef );
-        
-        /**
-        * From      CSmlDmAdapter   The function implements execute command.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @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
-        * @return   none
-        */
-	    void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                const TDesC8& aArgument, const TDesC8& aType, 
-                                const TInt aStatusRef );
-
-        /**
-        * From      CSmlDmAdapter   The function implements execute command.
-        * @since    Series60_3.0
-        * @param    aURI            URI of the object
-        * @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
-        * @return   none
-        */
-	    void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID, 
-                                RWriteStream*& aStream, const TDesC8& aType, 
-                                const TInt aStatusRef );
-
-         /**
-        * From      CSmlDmAdapter   The function implements execute command.
-        * @since    Series60_3.0
-        * @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 object
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-	    void CopyCommandL( const TDesC8& aTargetURI, const TDesC8& aTargetLUID, 
-                                const TDesC8& aSourceURI, const TDesC8& aSourceLUID, 
-                                const TDesC8& aType, TInt aStatusRef );
-        
-        /**
-        * From      CSmlDmAdapter   The function indicates start of Atomic command.
-        * @since    Series60_3.0
-        * @param    none
-        * @return   none
-        */
-	    void StartAtomicL();
-
-        /**
-        * From      CSmlDmAdapter   The function indicates successful end of Atomic command.
-        * @since    Series60_3.0
-        * @param    none
-        * @return   none
-        */
-	    void CommitAtomicL();
-
-        /**
-        * From      CSmlDmAdapter   The function indicates unsuccessful end of Atomic command.
-        * @since    Series60_3.0
-        * @param    none
-        * @return   none
-        */
-	    void RollbackAtomicL();
-
-        /**
-        * From      CSmlDmAdapter   Returns ETrue if adapter supports streaming otherwise EFalse.
-        * @since    Series60_3.0
-        * @param    aItemSize       Size limit for stream usage.
-        * @return   ETrue or EFalse
-        */
-	    TBool StreamingSupport( TInt& aItemSize );
-
-        /**
-        * From      CSmlDmAdapter   Called when stream returned from UpdateLeafObjectL or 
-        *                           ExecuteCommandL has been written to and committed.
-        * @since    Series60_3.0
-        * @param    none
-        * @return   none
-        */
-	    void StreamCommittedL();
-
-        /**
-        * From      CSmlDmAdapter   The function tells the adapter that all the commands of the message that
-	    *                           can be passed to the adapter have now been passed.
-        * @since    Series60_3.0
-        * @param    none
-        * @return   none
-        */
-	    void CompleteOutstandingCmdsL();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CNSmlDSSettingsAdapter();
-	    CNSmlDSSettingsAdapter( TAny* aEcomArguments );
-        
-        /**
-        * The function checks if field to be handled is valid.
-        * @param    none
-        * @return   ETrue if valid field otherwise EFalse.
-        */   
-	    TBool AcceptDSField();
-
-        /**
-        * The function returns enum value for a field to be handled.
-        * @param    none
-        * @return   enum value for a field to be handled.
-        */ 
-        TInt GetDSField() const;
-
-        /**
-        * The function checks if field type to be handled is valid.
-        * @param    none
-        * @return   enum value for a field type.
-        */ 
-        TInt GetDSFieldTypeL() const;
-
-        /**
-        * The function converts LUID to integer.
-        * @param    aLUID     LUID data to be converted.
-        * @return   Integer value for a LUID.
-        */    
-        TInt IntLUID(const TDesC8& aLUID);
-
-         /**
-        * The function converts data to integer and returns it.
-        * @param    aObject     Data object to be converted.
-        * @return   Integer value for an object.
-        */
-        TInt GetIntObject( const TDesC8& aObject );
-
-        /**
-        * The function converts data to integer and returns it.
-        * @param    aObject     Data object to be converted.
-        * @return   16-bit integer value for an object.
-        */
-	    TInt GetIntObject16( const TDesC& aObject );
-
-        /**
-        * The function stores integer value to buffer and returns reference to it.
-        * @param    aObject     data to be stored to buffer.
-        * @return   reference to data buffer.
-        */
-        TDesC8& SetIntObjectLC( const TInt& aObject );
-
-        /**
-        * The function checks if data length is valid.
-        * @param    aProfileItem    Field / Leaf ID to be handled.
-        * @param    aSource         Data to be handled.
-        * @return   ETrue if data length is not valid otherwise EFalse.
-        */ 
-        TBool NotValidStrLenght( const TInt& aProfileItem, const TDesC8& aSource );
-
-        /**
-        * The function finds out the last element of the uri.
-        * @param    aSource     Uri object that contains all elements.
-        * @return   KErrNone if successful.
-        */
-        TInt    SetField( const TDesC8& aSource );
-
-        /**
-        * The function converts 16-bit data to 8-bit and returns reference to it.
-        * @param    aSource    Reference data to be converted.
-        * @return   Reference to 8-bit data buffer.
-        */ 
-        TDesC8&  ConvertTo8LC( const TDesC& aSource );
-
-        /**
-        * The function converts 8-bit data to 16-bit and returns reference to it.
-        * @param    aSource    Reference data to be converted.
-        * @return   Reference to 16-bit data buffer.
-        */ 
-	    TDesC16& ConvertTo16LC( const TDesC8& aSource );
-
-        /**
-        * The function adds new dataprovider for a profile.
-        * @param    aIntLUID        Profile integer LUID.
-        * @param    aMIMEType       Requested MIME type of the data provider.
-        * @param    aDataProviderId Reference to object where new data provider id to be saved.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt AddNewDataProviderL( TInt aIntLUID, const TDesC8& aMIMEType, TInt& aDataProviderId );
-
-        /**
-        * The function gets the uri for profile IAP ID.
-        * @param    aLUID       Profile integer LUID.
-        * @param    aObject     Reference to object where URI to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetToNAPIDL( const TInt aLUID, CBufBase& aObject );
-
-        /**
-        * The function sets the profile IAP id based on URI.
-        * @param    aLUID       Profile integer LUID.
-        * @param    aObject     Access point URI.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetToNAPIDL( const TInt aLUID, const TDesC8& aObject );
-
-        /**
-        * The function sets the new node to buffer (in case of content type).
-        * @param    aURI            URI of the node.
-        * @param    aParentLUID     LUID for the parent object.
-        * @param    aStatusRef      Command status reply reference.
-        * @return   none
-        */ 
-        void AddNodeBufferL( const TDesC8& aURI, const TDesC8& aParentLUID, 
-                                const TInt aStatusRef );
-
-        /**
-        * The function sets new leaf object to buffer (in case DB level object).
-        * @param    aURI            URI of the node.
-        * @param    aParentLUID     LUID for the parent object.
-        * @param    aStatusRef      Command status reply reference.
-        * @return   none
-        */ 
-        void AddLeafBufferL( const TDesC8& aURI,const TDesC8& aParentLUID, 
-                                const TDesC8& aObject, const TInt aStatusRef );
-
-        /**
-        * The function finds out the last segment of the URI.
-        * @param    aURI        URI to be handled.
-        * @return   Pointer to last URI segment.
-        */ 
-        TPtrC8 LastURISeg( const TDesC8& aURI );
-
-        /**
-        * The function removes the last segment of the URI.
-        * @param    aURI        URI to be handled.
-        * @return   Pointer to recontructed URI.
-        */ 
-        TPtrC8 RemoveLastURISeg( const TDesC8& aURI );
-
-        /**
-        * The function executes command from the buffer based on URI.
-        * @param    aURI        URI to be handled first.
-        * @return   none
-        */ 
-        void ExecuteBufferL( const TDesC8& aURI );
-
-        /**
-        * The function gets the profile Id (LUID) for given URI.
-        * @param    aURI        URI which LUID to be fetched.
-        * @return   LUID for the URI.
-        */ 
-        TInt GetProfileIdFromURIL( const TDesC8& aURI );
-
-        /**
-        * The function gets the MIME type for given data provider.
-        * @param    aDataProviderId Data provider ID.
-        * @param    aProfileLUID    Profile LUID.
-        * @param    aObject         Reference where fetched MIME type to be stored.
-        * @return   KErrNone if successful otherwise error cose.
-        */ 
-        TInt GetContentTypeL( const TInt aDataProviderId, const TInt aProfileLUID, 
-                                CBufBase*& aObject );
-
-	    /**
-        * The function find out the buffer index for given URI.
-        * @param    aURI        URI which position in the buffer to be solved.
-        * @return   Buffer position for given URI. If not found value is -1.
-        */ 
-        TInt GetBufferIndex( const TDesC8& aURI );
-
-        /**
-        * The function sets the LUID to buffer for given URI.
-        * @param    aURI        URI which position in the buffer to be solved.
-        * @param    aLUID       LUID for an URI.
-        * @return   Value > 0 if URI found, otherwise value is 0.
-        */ 
-	    TInt SetBufferLUID( const TDesC8& aURI, const TInt aLUID );
-
-        /**
-        * The function find out the port number from URL and stores it to aPort.
-        * @param    aRealURI    Reference data to be containing the whole URI.
-        * @param    aPort       Reference variable where port number will be stored.
-        * @return   KErrNone if successful otherwise KErrNotFound.
-        */ 
-	    TInt  ParseUri( const TDesC8& aRealURI, TInt& aPort );
-        
-        /**
-        * The function checks if requested profile ID exits.
-        * @param    aIntLUID    Integer value for a LUID of the profile.
-        * @return   ETrue if profile exits otherwise EFalse.
-        */ 
-	    TBool FindProfileIdL( const TInt aIntLUID );
-
-        /**
-        * The function gets the profile ID from Client API.
-        * @param    aIntLUID    Integer value for a LUID of the profile.
-        * @param    aProfileID  Reference to object where profile ID to be stored.
-        * @return   KErrNone if successful otherwise KErrNotFound.
-        */ 
-        TInt GetProfileIdentifierL( const TInt aIntLUID, TInt& aProfileID );
-
-        /**
-        * The function gets the profile data acording to URI leaf.
-        * @param    aIntLUID    Profile ID.
-        * @param    aObject     Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetDSFieldDataL( const TInt aIntLUID, CBufBase*& aObject );
-
-        /**
-        * The function gets the profile medium type value.
-        * @param    aIntLUID     Reference where data to be stored.
-        * @return   Medium type for profile connection.
-        */ 
-        TInt GetProfileConnectiontypeL( const TInt aIntLUID );
-
-        /**
-        * The function gets the profile Addr leaf value.
-        * @param    aIntLUID    Profile ID.
-        * @param    aURL        Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetProfileServerURLL( const TInt aIntLUID, CBufBase*& aURL );
-
-        /**
-        * The function gets the profile user name value.
-        * @param    aIntLUID    Profile ID.
-        * @param    aUserName   Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt GetProfileUserNameL( const TInt aIntLUID, CBufBase*& aUserName );
-
-        /**
-        * The function gets the profile user name value.
-        * @param    aIntLUID    Profile ID.
-        * @param    aServerId   Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt GetProfileServerIdL( const TInt aIntLUID, CBufBase*& aServerId );
-
-        /**
-        * The function gets the profile IAP Id (ToNAPID) value.
-        * @param    aIntLUID    Profile ID.
-        * @param    aIAPid      Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt GetProfileIAPIdL( const TInt aIntLUID, TInt& aIAPid );		
-
-        /**
-        * The function gets the profile Name value.
-        * @param    aIntLUID        Profile ID.
-        * @param    aDisplayName    Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt GetProfileDisplayNameL( const TInt aIntLUID, CBufBase*& aDisplayName );
-
-        /**
-        * The function creates new DM profile.
-        * @param    aPID    Reference to variable where new profile Id will be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt CreateNewProfileL( TInt& aPID );
-
-        /**
-        * The function sets the profile Addr leaf value.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileServerURIL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function sets the profile Name leaf value.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @return   KErrNone if successful otherwise error code.
-        */     
-        TInt SetProfileDisplayNameL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function sets the profile UserName leaf value.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt SetProfileUserNameL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function sets the profile UserName leaf value.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt SetProfileServerIdL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function sets the profile password leaf value.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfilePasswordL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * General function that checks which leaf to be handled based on field id.
-        * @param    aPID        Profile ID.
-        * @param    aObj        Data to be stored for a profile.
-        * @param    aFieldID    Internal value for a leaf to be handled.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileStrValueL( const TInt aPID, const TDesC8& aObj, 
-                                    const TInt aFieldID );
-
-        /**
-        * The function deletes the profile data.
-        * @param    aPID    Profile ID.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt DeleteProfileL( const TInt aPID );
-
-        /**
-        * The function creates list of the content types that profile supports.
-        * @param    aURI                    URI that contains content types.
-        * @param    aPID                    Profile ID.
-        * @param    aCurrentURISegmentList  Reference to list to be filled.
-        * @param    aPreviousURISegmentList Previous, existing list for content types.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt CreateURITaskSegmentListL( const TDesC8& aURI, const TInt aPID, 
-                                    CBufBase*& aCurrentURISegmentList, 
-                                    const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList );
-
-        /**
-        * The function creates list of the existing profiles.
-        * @param    aCurrentURISegmentList  Reference to list to be filled.
-        * @param    aPreviousURISegmentList Previous, existing list for profiles.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt CreateURIProfileSegmentListL( CBufBase*& aCurrentURISegmentList, 
-                                    const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList );
-        
-        /**
-        * The function opens the server session and profile via client API.
-        * @param    aIntLUID    Integer value for a LUID of the profile.
-        * @param    aMode       Read or Read and Write mode for a profile data.
-        * @return   KErrNone if successful otherwise KErrNotFound.
-        */ 
-        TInt OpenSyncSessionAndDSProfileL( const TInt aIntLUID, TSmlOpenMode aMode );
-
-        /**
-        * The function closes the DS profile session.
-        * @param    none.
-        * @return   none.
-        */ 
-	    void CloseDSProfile();
-
-        /**
-        * The function checks if profile has the requested task id.
-        * @param    aProfLUID       Integer value for a LUID of the profile.
-        * @param    aDataProviderId DataProvider id to be searched.
-        * @return   ETrue if task found otherwise EFalse.
-        */ 
-        TBool FindTaskIDL( const TInt aProfLUID, const TInt aDataProviderId );
-
-        /**
-        * The function deletes task for given profile.
-        * @param    aLUID           Integer value for a LUID of the profile.
-        * @param    aDataProviderId DataProvider id to be searched.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-	    TInt DeleteTaskByIDL( const TInt aLUID, const TInt aDataProviderId );
-
-        /**
-        * The function gets the LDBURI (local datastore) for given profile.
-        * @param    aDataProviderId DataProvider id to be searched.
-        * @param    aProfileLUID    Profile Id.
-        * @param    aObject         Reference to object where fetched value to be saved.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetClientDataSourceL( const TInt aDataProviderId, const TInt aProfileLUID, 
-                                    CBufBase*& aObject );
-        /**
-        * The function gets the RDBURI (remote datastore) for given profile.
-        * @param    aDataProviderId DataProvider id to be searched.
-        * @param    aProfileLUID    Profile Id.
-        * @param    aObject         Reference to object where fetched value to be saved.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetServerDataSourceL( const TInt aDataProviderId, const TInt aProfileLUID, 
-                                    CBufBase*& aObject );
-
-        /**
-        * The function replaces the LDBURI or RDBURI values for given profile.
-        * @param    aProfileLUID    Profile Id.
-        * @param    aDataProviderId DataProvider id to be searched.
-        * @param    aObject         Data to be stored.
-        * @param    aField          Field Id to be handled.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt UpdateDataSourceL( const TInt aProfileLUID, const TInt aDataProviderId, 
-                                    const TDesC8& aObject, const HBufC8& aField );
-
-        /**
-        * The function fetches the object (leaf) data based on given URI.
-        * @param    aURI            URI of the object
-        * @param    aLUID           LUID of the object
-        * @param    aObj            Reference to object where fetched data to be saved.
-        * @param    aStatusRef      Reference to correct command
-        * @return   none
-        */
-        TInt FetchObjectL( const TDesC8& aURI, const TDesC8& aLUID, CBufBase*& aObj, 
-                                    const TInt aStatusRef );
-        
-        /**
-        * The function fills the node info.
-        * @param    aNode           Reference to node or leaf which info to be filled.
-        * @param    aAccTypes       Access rights for a leaf / node.
-        * @param    aOccurrence     Occurance of the node / leaf.
-        * @param    aScope          Scope (dynamic / permanent) of the leaf / node.
-        * @param    aFormat         Data format of the leaf / node.
-        * @param    aDescription    Description of the node / leaf.
-        * @param    aDefaultValue   Default value for a leaf or node.
-        * @param    aMimeType       MIME type for a leaf / node.
-        * @return   none
-        */ 
-        void FillNodeInfoL( MSmlDmDDFObject& aNode, TSmlDmAccessTypes aAccTypes, 
-                                MSmlDmDDFObject::TOccurence aOccurrence, 
-                                MSmlDmDDFObject::TScope aScope, 
-                                MSmlDmDDFObject::TDFFormat aFormat, 
-                                const TDesC8& aDescription, 
-                                const TDesC8& aDefaultValue, const TDesC8& aMimeType );
-        
-        /**
-        * The function set's the address type / medium type value for a profile.
-        * @param    aLUID       LUID for a profile.
-        * @param    aIntObj     Address type value.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileAddrTypeL( const TInt aLUID, const TInt aIntObj );
-
-        /**
-        * The function adds port number to address URL.
-        * @param    aLUID       Profile ID.
-        * @param    aPort       Reference to port number data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileConnectionPortNrL( const TInt aLUID, const TDesC8& aPort );
-
-        /**
-        * The function adds port number to address URL.
-        * @param    aSrvURI     Original address URI.
-        * @param    aNewURI     New URI when port number has been added or deleted.
-        * @param    aPort       Reference to port number data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        void SetPortNrToAddrStr( const TDesC8& aSrvURI, HBufC8* aNewURI, 
-                                    const TDesC8& aPort );
-        
-        /**
-        * The function checks if MIME type allready exits.
-        * @param    aLuid       Profile LUID.
-        * @param    aMimeType   MIME type to be searched.
-        * @return   ETrue if MIME type found else EFalse.
-        */ 
-        TBool MimeTypeAllreadyExitsL( const TInt aLuid, const TDesC8& aMimeType );
-
-        /**
-        * The function sets the RDBURI (remote datastore) to memeber variable.
-        * @param    aStore       Value for a RDBURI.
-        * @return   none.
-        */ 
-        void SetRDBDataStore( const TDesC8& aStore );
-
-        /**
-        * The function sets the IAP Id value to profile connection data.
-        * @param    aLuid       Profile LUID.
-        * @param    aIAPid      Id for an IAP.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileIAPIdL( const TInt aLUID, const TInt aIAPid );
-
-        /**
-        * The function gets UID for the profile medium type.
-        * @param    aIntObj         Profile LUID.
-        * @param    aMediumType     Requested medium type.
-        * @return   none.
-        */ 
-        void GetMediumTypeL(const TInt aIntObj, TSmlTransportId& aMediumType);
-        
-        /**
-        * The function checks if the URI is of format ./SyncML/DMAcc/DMId<num>
-        * Example ./SyncML/DMAcc/DMId000 
-        * @param    aURI       aURI.
-        * @return   true/false
-        */                          
-        TBool IsDSAccUriFormatMatchPredefined(const TDesC8 & aURI);
-        
-         /**
-        * The function constructs ./SyncML/DMAcc/x nodes and
-        * returns the profile ID matching the aURI.
-        * @param    aURI       aURI.
-        * @return   KErrNotFound/ProfileID
-        */  
-        
-        TInt ConstructTreeL(const TDesC8& aURI);
-
-   /**
-        * The function extracts Syncml/DSAcc/x node from aURI		        
-        * @param    aURI     Syncml/DSAcc aURI.
-        * @return   Syncml/DSAcc/x node.
-    */ 
-		TPtrC8 GetDynamicDSNodeUri(const TDesC8& aURI);
-
-    private:    // Data
-	    
-        // Callback interface for returning result or status
-	    MSmlDmCallback*	iCallBack;
-        // Client API session class 
-        RSyncMLSession iSyncSession;
-        // Client API DS profile handling
-        RSyncMLDataSyncProfile iDSProfile;
-  
-        // Buffer for URI leaf element
-        HBufC8* iField;
-        // Pointer to buffer structure
-        CArrayFixFlat<TNSmlDSBufferElement> *iBuffer;
-        
-        // Buffer for URI leaf element
-        HBufC8* iPrevURI;
-        // Buffer for profile port number handling
-        HBufC8* iPortNbr;
-        // Buffer for profile remote data store handling
-        HBufC16* iRdbDataStore;
-        // Information about leaf command
-        TNSmlDSLeafType	  iLeafType;
-
-        // LUID to be handled
-	    TInt iLUID;
-        // Parent LUID
-	    TInt iParentLUID;
-        // For handling profile medium type 
-	    TInt iObject;
-        // Previously handled LUID
-        TInt iPrevLUID;
-        
-        // Status information if session allready opened
-        TBool iSyncSessionOpen;
-        // Status of command was inside the module from buffer execution
-        TBool iBufferExecution;
-        
-        // buffered data for updating port number
-        HBufC8* iPortBuf;
-        TInt iPortBufLUID;
-        TInt iPortBufStatusRef;
-   };
-
-#endif // __NSmlDSSETTINGSADAPTER_H__
-
-// End of File
\ No newline at end of file