deviceupdatesui/adapters/syncmldm12/inc/NSmlDMSettingsAdapter12.h
changeset 30 d3981f4fe6a4
parent 27 516a867811c3
child 31 4b5fb8110426
child 41 c742e1129640
--- a/deviceupdatesui/adapters/syncmldm12/inc/NSmlDMSettingsAdapter12.h	Thu May 27 12:45:33 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1021 +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:    DM Settings adapter header file
-*
-*/
-
-
-
-
-#ifndef __NSMLDMSETTINGSADAPTER12_H__
-#define __NSMLDMSETTINGSADAPTER12_H__
-
-
-// INCLUDES
-#include <utf.h>
-#include <smldmadapter.h>
-#include <SyncMLClientDM.h>
-#include "NSmlPrivateAPI.h"
-
-// CONSTANTS
-const TInt KNSmlDMGranularity = 4;
-const TUint8 KNSmlDMColon = ':';
-const TUint8 KNSmlDMUriSeparator = '/';
-const TInt KPortMaxSize = 65535;
-const TInt KPortMinSize = 0;
-//Dynamic Node Posn Const --> DMAcc/DMIDxxx
-const TInt KDynNodePosn = 2;
-
-_LIT8( KNSmlTrueVal, "1" );
-_LIT8( KNSmlFalseVal, "0" );
-_LIT8( KNSmlHTTPAuth, 		"NSmlHTTPAuth" );
-_LIT8( KNSmlHTTPUsername,	"NSmlHTTPUsername" );
-_LIT8( KNSmlHTTPPassword, 	"NSmlHTTPPassword" );
-
-
-//DDF accepted DM-fieldnames
-_LIT8( KNSmlDdfId,				"Id" );
-_LIT8( KNSmlDdfAppId,				"AppID" );
-_LIT8( KNSmlDdfServerId,		"ServerID" );
-_LIT8( KNSmlDdfName,			"Name" );
-_LIT8( KNSmlDdfPrefConRef,			"PrefConRef" );
-_LIT8( KNSmlDdfToConRef,			"ToConRef" );
-_LIT8( KNSmlDdfConRef,			"ConRef" );
-_LIT8( KNSmlDdfAppAddr,			"AppAddr" );
-_LIT8( KNSmlDdfAddr,			"Addr" );
-_LIT8( KNSmlDdfAddrType,		"AddrType" );
-_LIT8( KNSmlDdfPort,			"Port" );
-_LIT8( KNSmlDdfPortNbr,			"PortNbr" );
-_LIT8( KNSmlDdfAuthScheme,		"AAuthPref" ); 
-_LIT8( KNSmlDdfAppAuth,		"AppAuth" );
-_LIT8( KNSmlDdfAAuthLevel,		"AAuthLevel" );
-_LIT8( KNSmlDdfAAuthType,		"AAuthType" );
-_LIT8( KNSmlDdfAAuthName,		"AAuthName" );
-_LIT8( KNSmlDdfAAuthSecret,		"AAuthSecret" );
-_LIT8( KNSmlDdfAAuthData,		"AAuthData" );
-_LIT8( KNSmlDdfExt,		"Ext" );
-_LIT8( KNSmlDdfServerPW,		"ServerPW" );
-_LIT8( KNSmlDdfServerNonce,		"ServerNonce" );
-_LIT8( KNSmlDdfClientUserName,	"UserName" );
-_LIT8( KNSmlDdfClientPW,		"ClientPW" );
-_LIT8( KNSmlDdfClientNonce,		"ClientNonce" );
-_LIT8( KNSmlDdfLocked,		"ProfileLock" );
-
-
-
-_LIT( KNSmlDdfMConRef,			"MConRef" );
-
-//Constant strings 
-
-
-_LIT8( KNSmlDdfAppIdValue,				"w7" );
-
-
-//DDF DM-field descriptions
-_LIT8( KNSmlDdfAppIdDescription,				"AppID of DMSettings " );
-_LIT8( KNSmlDdfAddrDescription,				"Host address of the SyncML server, IP or URL" );
-_LIT8( KNSmlDdfAddrTypeDescription,			"The type of address specified in the Addr node" );
-_LIT8( KNSmlDdfPortNbrDescription,			"SyncML Server port" );
-_LIT8( KNSmlDdfAuthSchemeDescription,		"Scheme of authentication" );
-_LIT8( KNSmlDdfServerIdDescription,			"The ServerId value for this server" );
-_LIT8( KNSmlDdfNameDescription,				"Displayable name for the SyncML setings" );
-_LIT8( KNSmlDdfConRefDescription,			"Logical reference to a connectivity node" );
-_LIT8( KNSmlDdfAuthLevelDescription ,       "AuthLevel of the AppAuth node " );
-_LIT8( KNSmlDdfAuthNameDescription ,       "AuthName of the AppAuth node " );
-_LIT8( KNSmlDdfAuthSecretDescription ,       "AuthSecret of the AppAuth node " );
-_LIT8( KNSmlDdfAuthDataDescription ,       "AuthData of the AppAuth node " );
-_LIT( KNSmlDdfMConRefDescription,			"Parent to Multiple Connection Reference objects" );
-
-
-//Default data values
-_LIT( KNSmlDefName,				"DMAdapterIns" );
-_LIT8( KNSmlDefDMAcc,			"DMAcc" );
-_LIT8( KNSmlDMStart,			"DMAcc/DMId" );
-_LIT( KNSmlDefDMIAP,			"AP" );
-_LIT8( KNSmlDMUriDotSlash,      "./");
-_LIT8( KNSmlDMNullDesc8,        "");
-_LIT8(KNSmlIAPId,               "NSmlIapId");
-
-_LIT8(KNSmlAddrtype,               "URI");
-
-
-// AuthPref text values
-_LIT8( KNSmlDMAuthPrefNoAuth,"syncml:auth-none");
-_LIT8( KNSmlDMAuthPrefBasic, "syncml:auth-basic");
-_LIT8( KNSmlDMAuthPrefMD5,	 "syncml:auth-md5");
-_LIT8( KNSmlDMAuthPrefTransport,	 "transport");
-
-_LIT8( KNSmlDMAuthTypeBasic, "BASIC");
-_LIT8( KNSmlDMAuthTypeMD5,	 "DIGEST");
-_LIT8( KNSmlDMAuthTypeTransport,	 "TRANSPORT");
-_LIT8( KNSmlDMSettingsHTTP,  "http://" );
-_LIT8( KNSmlDMSettingsHTTPS, "https://" );
-
-_LIT8( KIAPid, "IAPid" );
-_LIT8( KSegmDMAcc,"AppID/ServerID/Name/PrefConRef/AppAddr/AAuthPref/AppAuth/Ext");
-_LIT8( KSegmDMAccAppAddr,"Addr/AddrType/Port");
-_LIT8( KSegmDMAccPortRT,"Port001");
-_LIT8( KSegmDMAccport,"PortNbr");
-_LIT8( KSegmDMAccAppAuth,"AAuthLevel/AAuthType/AAuthName/AAuthSecret/AAuthData");
-_LIT8( KSegmDMAccLocked,"ProfileLock");
-_LIT8( KSmlDmSlash, "/");
-_LIT8( KVersion,"1.1" );
-_LIT8( KMimeType, "text/plain" );
-_LIT8( KSyncMLText, "SyncML" );
-_LIT8( KNSmlDMadapterDesc, "DM-Settings DDF description" );
-_LIT8( KNSmlDMadapterTitle,"DM-Settings title" );
-
-_LIT8( KDmAccMatch, "DMAcc/*" );
-_LIT8( KDmAccMatch3, "DMAcc/*/*" );
-
-_LIT8( KDmAccMatch2, "DMAcc" );
-_LIT8 (KDmAccToConRefMatch, "DMAcc/*/ToConRef");
-_LIT8 (KDmAccToConRefId, "ConRef001");
-_LIT8 (KDmAccToConRefFullMatch, "DMAcc/*/ToConRef/ConRef001");
-_LIT8 (KDmAccAppAddrMatch, "DMAcc/*/AppAddr");
-_LIT8 (KDmAccAppAddrFullMatch, "DMAcc/*/AppAddr/*");
-_LIT8 (KDmAccPortMatch, "DMAcc/*/AppAddr/*/Port");
-_LIT8 (KDmAccExtMatch, "DMAcc/*/Ext");
-//_LIT8 (KDmAccExtFullMatch, "DMAcc/*/Ext/*");
-_LIT8 (KDmAccPortFullMatch, "DMAcc/*/AppAddr/*/Port/Port001");
-_LIT8 (KDmAccAppAuthMatch, "DMAcc/*/AppAuth");
-_LIT8 (KDmAccAppAuthFullMatch, "DMAcc/*/AppAuth/*");
-_LIT8 (KDmAccAppAuthSrvMatch, "DMAcc/*/AppAuth/AppAuthSrv");
-_LIT8 (KDmAccAppAuthCliMatch, "DMAcc/*/AppAuth/AppAuthCli");
-_LIT8 (KDmAccAppAuthObexMatch, "DMAcc/*/AppAuth/AppAuthObex");
-_LIT8 (KDmAccAppAuthHttpMatch, "DMAcc/*/AppAuth/AppAuthHttp");
-_LIT8 (KDmAccAppAuthTransMatch, "DMAcc/*/AppAuth/AppAuthTransport");
-
-
-
-//_LIT8 (KDmAccAppAuthNodes, "AppAuthSrv/AppAuthCli/AppAuthObex/AppAuthHttp");
-_LIT8 (KDmAccAppAuthNodes, "AppAuthSrv/AppAuthCli/AppAuthTransport");
-_LIT8 (KDmAccAppAuthDyn1, "AppAuthSrv"); // serv
-_LIT8 (KDmAccAppAuthDyn2, "AppAuthCli"); //client
-_LIT8 (KDmAccAppAuthDyn3, "AppAuthObex"); //obex
-_LIT8 (KDmAccAppAuthDyn4, "AppAuthHttp");
-
-_LIT8 (KDmAccAppAuthTransport, "AppAuthTransport");
-
-_LIT8 (KDmAccAppAuthDyn1LUid, "SRVCRED");
-_LIT8 (KDmAccAppAuthDyn2LUid, "CLCRED");
-_LIT8 (KDmAccAppAuthDyn3LUid, "OBEX");
-_LIT8 (KDmAccAppAuthDyn4LUid, "HTTP");
-
-_LIT8 (KDmAccAppAuthLevelSrv, "SRVCRED");
-_LIT8 (KDmAccAppAuthLevelCli, "CLCRED");
-_LIT8 (KDmAccAppAuthLevelObx, "OBEX");
-_LIT8 (KDmAccAppAuthLevelHttp, "HTTP");
-_LIT8(KDmProfileLocked, "Locked");
-_LIT8(KDmProfileUnLocked, "Unlocked");
-const TInt KHttpUsed  = 1;
-const TInt KHttpNotUsed  = 0;
-
-
-// temporary
-
-_LIT8 (KDmAccAppAddrId, "Addr001");
-
-// NOTE: this enum must match with property array described in 
-// SyncML_Sync_Agent_Client_API_Specification.doc.
-enum TNSmlSyncTransportProperties
-	{
-	EPropertyIntenetAccessPoint = 0,
-	EPropertyHttpUsed = 5,
-	EPropertyHttpUserName = 6,
-	EPropertyHttpPassword = 7
-	};
-
-
-// DATA TYPES
-enum TNSmlDMFieldType
-	{
-	EStr,
-	EInt,
-	EBin,
-	EWrong
-	};
-
-enum TNSmlDMLeafType
-	{
-	EDMUpdate,
-	EDMDelete,
-	EDMUnset
-	};
-
-enum TNSmlDMProfileData
-	{
-	EProfileId,
-	EProfileName,
-	EProfileIAPId,
-	EProfileMediumType,
-	EProfileDMServerUsername,
-	EProfileDMServerPassword,
-	EServerNonce,
-	ESharedSecret,
-	EClientNonce,
-	EProfileURL,
-	EProfilePort,
-	EServerId,
-	EAuthenticationRequired,
-	ESyncAccepted,
-	EProfileAddrType,
-	EPRofileServerCred,
-	EPRofileClientCred,
-	EProfileHttpUsername,
-	EProfileHttpPassword,
-	EProfileAAuthType,
-	EProfileTransport,
-	EProfileObexUsername,
-	EProfileObexPassword,
-	ETransportAuthName,
-	EProfileTransportPassword,
-	EProfileTransportAuthData,
-	EProfileLock
-	};
-
-enum TAuthenticationType
-	{
-	ENoAuth,    //"syncml:auth-none"
-	EBasic,     //"syncml:auth-basic"
-	EMD5        //"syncml:auth-md5"
-	};
-
-enum TNSmlDMMediumType
-	{
-	ENone,
-    EHttp,
-	EWsp,
-    EObex
-	};
-
-struct TNSmlDMLeafElement
-	{
-	HBufC8 *iUri;
-	HBufC8 *iData;
-	TInt iStatusRef;
-	HBufC8* iLuid;
-	};
-
-struct TNSmlDMBufferElement
-	{
-	CArrayFixFlat<TNSmlDMLeafElement> *iLeafBuf;
-	HBufC8* iMappingName; //Holds the Dyn.Node URI       
-	TBool iExecuted; //Node updated to dB or not       
-	TInt iDMBuffStatusref; //Statusref for callback       
-	TBool iAddr;
-	TBool iServerId; //Bools for Mandatory fields       
-	TBool iUName;
-	TBool iServerName;
-	};
-
-// CLASS DECLARATION
-/**
-*  CNSmlDMSettingsAdapter12 class 
-*  Contains the whole implementation of the DM settings adapter.
-*
-*  @lib nsmldmsettingsadapter.dll
-*  @since Series 60 Series60_3.0
-*/
-class CNSmlDMSettingsAdapter12 : public CSmlDmAdapter
-	{
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-	    static CNSmlDMSettingsAdapter12* NewL(MSmlDmCallback* aDmCallback );
-	    static CNSmlDMSettingsAdapter12* NewLC(MSmlDmCallback* aDmCallback );
-
-	    void ConstructL();
-
-        /**
-        * Destructor.
-        */
-	    virtual ~CNSmlDMSettingsAdapter12();
-
-    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, 
-                            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();
-	    
-	     /**
-        * From      CSmlDmAdapter   The function to set profile lock
-        * @since    Series60_3.0
-        * @param    profileId  lockvalue
-        * @return   TInt
-        */
-	    TInt SetProfileLockL(const TInt aPID, TInt aLockValue);
-	
-    private:
-	    
-        /**
-        * C++ default constructor.
-        */
-        CNSmlDMSettingsAdapter12();
-        CNSmlDMSettingsAdapter12( TAny* aEcomArguments );
-	    
-        /**
-        * 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 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 sets the uri being set ot get
-        * @param    aSource     Uri object that contains all elements.
-        * @return   KErrNone if successful.
-        */
-	    TInt SetURIInProcessL( const TDesC8& aSource );
-	    
-
-        /**
-        * 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 converts LUID to integer.
-        * @param    aLUID     LUID data to be converted.
-        * @return   Integer value for a LUID.
-        */    
-	    TInt IntLUID( const TDesC8& aLUID );
-
-        /**
-        * The function sets the IAP value acording the given URI.
-        * @param    aLUID     LUID for a profile.
-        * @param    aObject   Data object containing the URI.
-        * @return   KErrNone if successfull.
-        */    
-	    TInt  SetConRefL( const TInt aLUID, const TDesC8& aObject );
-    
-        /**
-        * The function gets the URI for profile IAP.
-        * @param    aObject   Object where the result will be stored.
-        * @return   KErrNone if successfull.
-        */    
-	    TInt GetConRefL( CBufBase& aObject );
-	
-        /**
-        * The function checks if field to be handled is valid.
-        * @param    none
-        * @return   ETrue if valid field otherwise EFalse.
-        */    
-    	TBool AcceptDMField();
-
-        /**
-        * The function checks if field type to be handled is valid.
-        * @param    none
-        * @return   enum value for a field type.
-        */ 
-	    TNSmlDMFieldType   GetDMFieldType() const;
-
-        /**
-        * The function returns enum value for a field to be handled.
-        * @param    none
-        * @return   enum value for a field to be handled.
-        */ 
-	    TNSmlDMProfileData GetDMField() ;
-
-        /**
-        * 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 valid otherwise EFalse.
-        */ 
-	    TBool NotValidStrLenght( const TNSmlDMProfileData& aProfileItem, 
-                            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 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 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 OpenSyncSessionAndProfileL( const TInt aIntLUID, TSmlOpenMode aMode );
-
-        /**
-        * 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 creates new DM profile.
-        * @param    aPID    Reference to variable where new profile will be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt CreateNewProfileL( TInt& aPID );
-
-        /**
-        * The function stores the server URL for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to server URL data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileServerURIL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function stores the display name for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileDisplayNameL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function stores the user name for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileUserNameL( const TInt aPID, const TDesC8& aObj );
-        
-        /**
-        * The function stores the profile http user name for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileHttpUserNameL( const TInt aPID, const TDesC8& aObj );
-        
-
-        /**
-        * The function stores the protocol version for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileProtocolVersionL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function stores the ServerId value for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileServerIdL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function stores the Server password for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileServerPasswordL( const TInt aPID, const TDesC8& aObj );
-        
-        /**
-        * The function stores the network/http password for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileHttpPasswordL( const TInt aPID, const TDesC8& aObj );
-        
-
-        /**
-        * The function stores the password value for a profile.
-        * @param    aPID    Profile ID.
-        * @param    aObj    Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfilePasswordL( const TInt aPID, const TDesC8& aObj );
-
-        /**
-        * The function stores the IAP id value for a profile.
-        * @param    aLUID   Profile ID.
-        * @param    aIAPid  Reference to data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetProfileConnectionPropertyL( const TInt aLUID, const TInt aIAPid );
-
-        /**
-        * The function deleted the profile data.
-        * @param    aPID    Profile ID.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt DeleteProfileL( const TInt aPID );
-        
-        /**
-        * The function to tell whether the profile is locked.
-        * @param    aPID   
-        * @return   1 if locked otherwise 0
-        */ 
-        TBool IsProfileLockedL(const TInt aPID);
-        
-        /**
-        * The function gets the profile data acoeding to aDMField.
-        * @param    aLUID       Profile ID.
-        * @param    aDMField    Data field ID to be handled.
-        * @param    aObject     Reference where fetched data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetObjectL( TInt aLUID, TNSmlDMProfileData aDMField, 
-                        CBufBase& aObject );
-
-        /**
-        * 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 );
-
-        /**
-        * General function which selects which leaf to be handled.
-        * @param    aLUID       Profile LUID.
-        * @param    aObject     Data to be stored.
-        * @param    aField      Leaf of field ID to be handled.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt SetDMFieldDataL( const TInt aLUID, const TDesC8& aObject, 
-                            const TNSmlDMProfileData aField );
-        /**
-        * 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 reads the authentication data via private API.
-        * @param    aLUID       LUID for a profile.
-        * @param    aField      Leaf id to be handled.
-        * @param    aObject     Reference where to store the data.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetDMAuthInfoL( const TInt aLUID, const TNSmlDMProfileData aField, 
-                            CBufBase& aObject );
-
-        /**
-        * The function delete's the authentication data via private API.
-        * @param    aLUID       LUID for a profile.
-        * @param    aField      Leaf id to be handled.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt DeleteDMAuthInfoL( const TInt aLUID, const TNSmlDMProfileData aField );
-        
-        /**
-        * 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 gets the profile medium type value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetProfileConnectiontypeL( TInt& aMediumTYpe );
-        
-        /**
-        * The function gets the profile http user name of value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetHttpUsernameL( CBufBase& aObject );
-        
-       
-        /**
-        * The function gets the profile IAP value.
-        * @param    aIAPid     Reference where data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        TInt GetProfileIAPIdL( TInt& aIAPid );
-
-        /**
-        * The function gets the profile Server URL value.
-        * @param    aURL     Reference where data to be stored.
-        * @return   KErrNone if successful otherwise error code.
-        */ 
-        void GetProfileServerURLL( CBufBase& aURL );
-
-        /**
-        * The function checks the requested medium type if supported.
-        * @param    aIntObj         Medium type.
-        * @param    aMediumType     UID for medium type.
-        * @return   none
-        */         
-        void GetMediumTypeL( const TInt aIntObj, TInt& aMediumType );
-
-        /**
-        * The function gets the server id value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   none
-        */       
-        void GetServerIdL( CBufBase& aObject );
-
-        /**
-        * The function gets the profile name value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   none
-        */       
-        void GetProfileNameL( CBufBase& aObject );
-
-        /**
-        * The function gets the user name value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   none
-        */ 
-        void GetProfileUserNameL( CBufBase& aObject );
-
-        /**
-        * The function gets the profile port number value.
-        * @param    aObject     Reference where data to be stored.
-        * @return   none
-        */ 
-        void GetProfilePortNumberL( CBufBase& aObject );
-
-        /**
-        * The function sets the profile authentication info via private API.
-        * @param    aLUID       Profile LUID.
-        * @param    aField      Leaf ID to be handled.
-        * @param    aObject     Data to be stored.
-        * @param    aStatus     Status of the function, KErrNone if successful.
-        * @return   none
-        */         
-        void SetAuthInfoL( const TInt aLUID, const TNSmlDMProfileData aField, 
-                        const TDesC8& aObject, TInt& aStatus );
-	//Buffers Node Object <>     
-	void AddNodeBufferL( const TDesC8& aURI, const TInt aStatusRef);
-
-	//Buffers Leaf Object       
-	void AddLeafBufferL( const TDesC8& aURI, const TDesC8& aObject,
-			const TInt aStatusRef);
-	// Executes Buffer       
-	void ExecuteBufferL();
-	//Extracts the ParentURI       
-	TPtrC8 ParentURI(const TDesC8& aURI);
-	// Clears the elements of the passed in LeafElement Structure
-	void ClearBuffer( CArrayFixFlat<TNSmlDMLeafElement>* aBuffer);
-	/**
-        * The function checks if requested ServerID ID exits.
-        * @param    aServerid    ServerID.
-        * @return   ETrue if ServerID exits otherwise EFalse.
-  */ 
-	TBool IsServerIDExistL( const TDesC8& aServerid );
-	
-	/**
-        * The function checks if the URI is of format ./DMAcc/DMId<num>
-        * Example ./DMAcc/DMId000 
-        * @param    aURI       aURI.
-        * @return   true/false
-  */                          
-  TBool IsDMAccUriFormatMatchPredefined(const TDesC8 & aURI);
-        
-  /**
-        * The function constructs ./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 DMAcc/x node from aURI		        
-        * @param    aURI     DMAcc aURI.
-        * @return   DMAcc/x node.
-    */ 
-  TPtrC8 GetDynamicDMNodeUri(const TDesC8& aURI);
-
-    private:    // Data
-	
-        // Client API session class 
-        RSyncMLSession iSyncSession;
-        // Client API Device Management profile handling
-        RSyncMLDevManProfile iProfile;
-        // Callback interface for returning result or status
-	    MSmlDmCallback* iCallBack;
-	    
-	    TInt iCurrentProfile;
-	    
-        // Profile LUID
-        TInt iLUID;
-        // Parent LUID
-	    TInt iParentLUID;
-        // For handling profile medium type 
-	    TInt iObject;
-                  
-        // Buffer for URI leaf element
-	    HBufC8* iField;
-	    
-        HBufC8* iURIField;
-        TBool iNewProfile;
-        // Information about data type
-	    TNSmlDMFieldType  iFieldType;
-        // Information about leaf command
-	    TNSmlDMLeafType	  iLeafType;
-        // Status information if session allready opened
-        TBool iSyncSessionOpen;
-
-        // Buffer for storing port number
-        HBufC8* iPortNbr;
-    
-        // Private API interface for handling authebtication data
-        RNSmlPrivateAPI iPrivateApi;
-        
-        struct TPortBuffer
-            {
-            // buffered data for updating port number
-            TBufC8<5> iPortBuf;
-            TInt iPortBufLUID;
-            TInt iPortBufStatusRef;
-            };
-        RArray<TPortBuffer> iPortBuffer;
-        
-        struct TLockBuffer
-            {
-            // buffered data for profile lock
-            TInt iProfileLock;
-            TInt iProfileLockLUID;
-            TInt iProfileLockStatusRef;
-            };   
-        RArray<TLockBuffer> iProfileLockBuffer; 
-            
-	TBool iBufOn;
-	TBool iComplete;
-	TInt iExecutionIndex;
-	CArrayFixFlat<TNSmlDMBufferElement> *iBuffer;
-    };
-
-#endif // __NSMLDMSETTINGSADAPTER12_H__
-
-// End of File
-