XDMEngine/XdmDeviceManagement/src/xdmdmadapter.cpp
branchGCC_SURGE
changeset 28 d9861ae9169c
parent 23 77cb48a03620
parent 26 04ca1926b01c
--- a/XDMEngine/XdmDeviceManagement/src/xdmdmadapter.cpp	Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1244 +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:    DM OMA XDM Settings Adapter
- *
-*/
-
-
-
-
-#include <implementationproxy.h>
-#include <utf.h>
-#include <nsmldmuri.h>
-#include <XdmSettingsApi.h>
-#include <XdmSettingsCollection.h>
-#include <XdmSettingsProperty.h>
-#include "xdmdmadapter.h"
-
-#ifdef _DEBUG
-    #include <flogger.h>
-#endif
-
-
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::NewL( )
-// -----------------------------------------------------------------------------
-//
-CXdmDMAdapter* CXdmDMAdapter::NewL( MSmlDmCallback* aDmCallback )
-    {
-    CXdmDMAdapter* self = new (ELeave) CXdmDMAdapter( aDmCallback );
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::NewL(): end") );
-#endif
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::CXdmDMAdapter()
-// -----------------------------------------------------------------------------
-//
-CXdmDMAdapter::CXdmDMAdapter( MSmlDmCallback* aDmCallback ) : 
-CSmlDmAdapter( aDmCallback )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::CXdmDMAdapter()") );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::~CXdmDMAdapter()
-// -----------------------------------------------------------------------------
-//
-CXdmDMAdapter::~CXdmDMAdapter()
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::~CXdmDMAdapter()") );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-//  CXdmDMAdapter::DDFVersionL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::DDFVersionL( CBufBase& aDDFVersion )
-    {   
-    aDDFVersion.InsertL( 0, KXdmDDFVersion );
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DDFVersionL(TDes& aDDFVersion)") );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-//  CXdmDMAdapter::DDFStructureL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::DDFStructureL( MSmlDmDDFObject& aDDF )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DDFStructureL(): begin") );
-#endif    
-
-    // For OMA_XDM 
-    TSmlDmAccessTypes accTypeGet;
-    accTypeGet.SetGet();
-     
-    // For OMA_XDM/<X> 
-    TSmlDmAccessTypes accTypeAll;
-    accTypeAll.SetAdd();
-    accTypeAll.SetGet();
-    accTypeAll.SetReplace();
-    accTypeAll.SetDelete();
-    
-    // For leaf nodes
-    TSmlDmAccessTypes accTypeNoDelete;
-    accTypeNoDelete.SetAdd();
-    accTypeNoDelete.SetGet();
-    accTypeNoDelete.SetReplace();
-
-    // ./OMA_XDM
-    MSmlDmDDFObject& omaXdmNode = aDDF.AddChildObjectL( KXdmDmNodeName );
-    FillNodeInfoL( omaXdmNode, accTypeGet, MSmlDmDDFObject::EOne,
-                  MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode,
-                  KXdmDmNodeNameDescription );
-                  
-    // ./OMA_XDM/<X> 
-    MSmlDmDDFObject& rtNode = omaXdmNode.AddChildObjectGroupL();
-    FillNodeInfoL( rtNode, accTypeAll, MSmlDmDDFObject::EOneOrMore,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::ENode,
-                  KXdmDmDynamicDescription );
-
-    // ./OMA_XDM/<X>/APPID            
-    MSmlDmDDFObject& appIdNode = rtNode.AddChildObjectL( KXdmDmAppId );
-    FillNodeInfoL( appIdNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmAppIdDescription );
-                  
-    // ./OMA_XDM/<X>/NAME            
-    MSmlDmDDFObject& nameNode = rtNode.AddChildObjectL( KXdmDmName );
-    FillNodeInfoL( nameNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmNameDescription );
-            
-    // ./OMA_XDM/<X>/PROVIDER-ID           
-    MSmlDmDDFObject& provIdNode = rtNode.AddChildObjectL( KXdmDmProviderId );
-    FillNodeInfoL( provIdNode, accTypeNoDelete,MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmProviderIdDescription );    
-                               
-    // ./OMA_XDM/<X>/ToConRef
-    MSmlDmDDFObject& toConRefNode = rtNode.AddChildObjectL( KXdmDmToConRef );
-    FillNodeInfoL( toConRefNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::ENode,
-                  KXdmDmToConRefDescription);
-                  
-    // ./OMA_XDM/<X>/ToConRef/<X> (TO-NAPID)          
-    MSmlDmDDFObject& napIdNode = toConRefNode.AddChildObjectL( KXdmDmToNapId );
-    FillNodeInfoL( napIdNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne, 
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::ENode,
-                  KXdmDmToNapIdDescription );                 
-                                   
-    // ./OMA_XDM/<X>/ToConRef/TO-NAPID/ConRef                                             
-    MSmlDmDDFObject& napIdRefNode = napIdNode.AddChildObjectL( KXdmDmConRef );
-    FillNodeInfoL( napIdRefNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne, 
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmConRefDescription );
-                  
-    // ./OMA_XDM/<X>/ToConRef/<X> (SIP)          
-    MSmlDmDDFObject& sipNode = toConRefNode.AddChildObjectL( KXdmDmSip );
-    FillNodeInfoL( sipNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne, 
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::ENode,
-                  KXdmDmSipDescription );                 
-                                   
-    // ./OMA_XDM/<X>/ToConRef/SIP/ConRef                                             
-    MSmlDmDDFObject& sipRefNode = sipNode.AddChildObjectL( KXdmDmConRef );
-    FillNodeInfoL( sipRefNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne, 
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmConRefDescription );
-    
-    // ./OMA_XDM/<X>/URI          
-    MSmlDmDDFObject& uriNode = rtNode.AddChildObjectL( KXdmDmUri );
-    FillNodeInfoL( uriNode, accTypeNoDelete, MSmlDmDDFObject::EOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmUriDescription );  
-                  
-    // ./OMA_XDM/<X>/AAUTHNAME         
-    MSmlDmDDFObject& userIdNode = rtNode.AddChildObjectL( KXdmDmAAuthName );
-    FillNodeInfoL( userIdNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic, MSmlDmDDFObject::EChr,
-                  KXdmDmAAuthNameDescription );     
-                  
-    // ./OMA_XDM/<X>/AAUTHSECRET         
-    MSmlDmDDFObject& pwdNode = rtNode.AddChildObjectL( KXdmDmAAuthSecret );
-    FillNodeInfoL( pwdNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic,MSmlDmDDFObject::EChr,
-                  KXdmDmAAuthSecretDescription ); 
-                    
-    // ./OMA_XDM/<X>/AAUTHTYPE         
-    MSmlDmDDFObject& authTypeNode = rtNode.AddChildObjectL( KXdmDmAAuthType );
-    FillNodeInfoL( authTypeNode, accTypeNoDelete, MSmlDmDDFObject::EZeroOrOne,
-                  MSmlDmDDFObject::EDynamic,MSmlDmDDFObject::EChr,
-                  KXdmDmAAuthTypeDescription );
-  
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DDFStructureL(): end") );
-#endif 
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::ChildURIListL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::ChildURIListL( const TDesC8& aUri, 
-                                   const TDesC8& /*aLUID*/, 
-                                   const CArrayFix<TSmlDmMappingInfo>& 
-                                       /*aPreviousURISegmentList*/, 
-                                   const TInt aResultsRef, 
-                                   const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): begin") );
-#endif    
-    
-    CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
-
-    CBufBase* currentList = CBufFlat::NewL( 1 );
-    CleanupStack::PushL( currentList ); // << currentList
-    
-    const TPtrC8 lastUriSeg = NSmlDmURI::LastURISeg( aUri );
-    TBuf8<KSmlMaxURISegLen> segmentName;
- 
-    // ./OMA_XDM
-    if( Match( lastUriSeg, KXdmDmNodeName ) ) 
-        {
-        RArray<TInt> settingIds;
-        CleanupClosePushL( settingIds );    // << settingIds
-        CDesCArray* names = TXdmSettingsApi::CollectionNamesLC( settingIds ); // << names
-        TInt idCount = settingIds.Count();
-        for( TInt i(0); i < idCount; i++ )
-            {
-            segmentName.Copy( KNullDesC8 ); 
-            segmentName.AppendNum( settingIds[i] );
-            currentList->InsertL( currentList->Size(), segmentName );
-            currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-            }
-        Callback().SetResultsL( aResultsRef, *currentList, KNullDesC8 );
-        Callback().SetStatusL( aStatusRef, retValue );
-        CleanupStack::PopAndDestroy( 3, currentList ); // >>> settingIds, names, currentList
-        return;
-        }   
-
-    // ./OMA_XDM/X   
-    if( NSmlDmURI::NumOfURISegs( aUri ) == KXdmDmLevel )   
-        {
-        segmentName.Copy( KXdmDmAppId );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmName );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmProviderId );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmToConRef );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-                
-        segmentName.Copy( KXdmDmUri );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmAAuthName );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmAAuthSecret );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmAAuthType );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        }
-        
-    // ./OMA_XDM/X/ToConRef   
-    else if ( Match( lastUriSeg, KXdmDmToConRef ) ) 
-        {
-        segmentName.Copy( KXdmDmSip );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        
-        segmentName.Copy( KXdmDmToNapId );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        }
-        
-    // ./OMA_XDM/X/ToConRef/SIP
-    else if( Match( lastUriSeg, KXdmDmSip ) ) 
-        {
-        segmentName.Copy( KXdmDmConRef );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        }
-        
-    // ./OMA_XDM/X/ToConRef/TO-NAPID
-    else if( Match ( lastUriSeg, KXdmDmToNapId ) ) 
-        {
-        segmentName.Copy( KXdmDmConRef );
-        currentList->InsertL( currentList->Size(), segmentName );
-        currentList->InsertL( currentList->Size(), KXdmDmSeparator );
-        }
-    else
-        {
-        // if none of asked nodes found return error.
-        retValue = CSmlDmAdapter::ENotFound;
-        }
-       
-    Callback().SetResultsL( aResultsRef, *currentList, KNullDesC8 );
-    Callback().SetStatusL( aStatusRef, retValue );
-    CleanupStack::PopAndDestroy( currentList ); // >>> currentList  
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::ChildURIListL(): end") );
-#endif
-    }    
- 
-// -----------------------------------------------------------------------------
-//  CXdmDMAdapter::FetchLeafObjectL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::FetchLeafObjectL( const TDesC8& aUri, 
-                                      const TDesC8& aLUID, 
-                                      const TDesC8& aType, 
-                                      const TInt aResultsRef, 
-                                      const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchLeafObjectL(): begin") );
-#endif  
-
-    TInt settingsId = FindSettingsIdL( aLUID, aUri );
-
-    CBufBase* result = CBufFlat::NewL( KXdmDefaultResultSize );
-    CleanupStack::PushL( result );    // << result
-    CSmlDmAdapter::TError status = FetchObjectL( aUri, *result, settingsId );
-    if( status == CSmlDmAdapter::EOk )
-        {
-        Callback().SetResultsL( aResultsRef, *result, aType );
-        }
-    Callback().SetStatusL( aStatusRef, status );
-    CleanupStack::PopAndDestroy( result );  // >>> result
-    
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchLeafObjectL(): end") );
-#endif
-    }
-    
-// -----------------------------------------------------------------------------
-// CSmlDmAdapter::TError FetchObjectL
-// -----------------------------------------------------------------------------
-//
-CSmlDmAdapter::TError CXdmDMAdapter::FetchObjectL( const TDesC8& aUri, 
-                                                   CBufBase& aObject,
-                                                   TInt aSettingsId )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchObjectL(): begin") );
-#endif    
-    CSmlDmAdapter::TError status = CSmlDmAdapter::EOk;
-      
-    TXdmSettingsProperty property ( EXdmPropNotFound );
-    TPtrC8 lastUriSeg = NSmlDmURI::LastURISeg( aUri );
-    // APPID
-    if( Match( lastUriSeg, KXdmDmAppId ) )
-        {
-        property = EXdmPropAppId;                          
-        }
-    // NAME
-    else if( Match( lastUriSeg, KXdmDmName ) )
-        {
-        property = EXdmPropName;  
-        }   
-    // PROVIDER-ID  
-    else if( Match( lastUriSeg, KXdmDmProviderId ) )
-        {
-        property = EXdmPropProvId;  
-        }
-    // URI
-    else if( Match( lastUriSeg, KXdmDmUri) )
-        {
-        property = EXdmPropUri;  
-        }
-    // AAUTHNAME
-    else if( Match( lastUriSeg, KXdmDmAAuthName) )
-        {
-        property = EXdmPropAuthName;  
-        }
-    // AAUTHSECRET
-    else if( Match( lastUriSeg, KXdmDmAAuthSecret) )
-        {
-        property = EXdmPropAuthSecret;  
-        }
-    // AAUTHTYPE
-    else if( Match( lastUriSeg, KXdmDmAAuthType ) )
-        {
-        property = EXdmPropAuthType;  
-        }       
-    // ToConRef/SIP/ConRef
-    // ToConRef/TO-NAPID/ConRef     
-    else if( Match( lastUriSeg, KXdmDmConRef) )
-        {
-        TPtrC8 conRefUri = NSmlDmURI::RemoveLastSeg( aUri );
-        TPtrC8 lastConRefSeg = NSmlDmURI::LastURISeg( conRefUri );
-        
-        if( Match( lastConRefSeg, KXdmDmSip ) )
-            {
-            return FetchSipConRefL( aSettingsId, aObject );
-            }  
-        else if( Match( lastConRefSeg, KXdmDmToNapId ) )
-            {
-            HBufC* value = NULL;
-            TInt error( KErrNone );
-            TRAP( error, ( value = TXdmSettingsApi::PropertyL( aSettingsId, EXdmPropToNapId ) ) );
-            if ( error == KErrNone )
-                {
-                CleanupStack::PushL( value );   // << value
-                TInt iapId = DesToInt( *value ); 
-                CleanupStack::PopAndDestroy( value );   // >>> value
-                HBufC8* uri = URIFromIapIdL( iapId );
-                if( uri )
-                    {
-                    CleanupStack::PushL( uri ); // << uri
-                    aObject.InsertL( 0, uri->Des() );
-                    status = CSmlDmAdapter::EOk;
-                    CleanupStack::PopAndDestroy( uri ); // uri
-                    }
-                else
-                    {
-                    status = CSmlDmAdapter::ENotFound;
-                    }
-                return status;
-                }
-            }
-        }
-    else
-        {
-        status = CSmlDmAdapter::ENotFound;
-        }
-    // known property
-    if ( status == CSmlDmAdapter::EOk )
-        {
-        status = GetPropertyL( aSettingsId, property, aObject ); 
-        }
-
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchObjectL(): end") );
-#endif    
-    return status;
-    }  
-         
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::FetchLeafObjectSizeL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::FetchLeafObjectSizeL( const TDesC8& aUri, 
-                                          const TDesC8& aLUID, 
-                                          const TDesC8& aType, 
-                                          const TInt aResultsRef, 
-                                          const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchLeafObjectSizeL(): begin") );
-#endif
-
-    TInt settingsId = FindSettingsIdL( aLUID, aUri );
-    
-    CBufBase* result = CBufFlat::NewL( KXdmDefaultResultSize );
-    CleanupStack::PushL( result );
-    CSmlDmAdapter::TError status = FetchObjectL( aUri, *result, settingsId );
-    
-    if( status == CSmlDmAdapter::EOk )
-        {
-        TInt objSizeInBytes = result->Size();
-        
-        TBuf8<KXdmDmObjectSizeWidth> stringObjSizeInBytes;
-        stringObjSizeInBytes.Num( objSizeInBytes );
-        
-        result->Reset();
-        result->InsertL( 0, stringObjSizeInBytes );
-        
-        Callback().SetResultsL( aResultsRef, *result, aType );
-        }   
-        
-    Callback().SetStatusL( aStatusRef, status );
-    CleanupStack::PopAndDestroy( result );  // >>> result
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::FetchLeafObjectSizeL(): end") );
- #endif
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::UpdateLeafObjectL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::UpdateLeafObjectL( const TDesC8& aUri, 
-                                       const TDesC8& aLUID, 
-                                       const TDesC8& aObject, 
-                                       const TDesC8& /*aType*/, 
-                                       const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL(): begin") );
-#endif   
-    CSmlDmAdapter::TError status = CSmlDmAdapter::EOk;
-
-    TInt settingsId = FindSettingsIdL( aLUID, aUri );
-    
-    TXdmSettingsProperty property;
-    TPtrC8 lastUriSeg = NSmlDmURI::LastURISeg( aUri );
-    // APPID
-    if( Match( lastUriSeg, KXdmDmAppId ) )
-        {
-        property = EXdmPropAppId;                          
-        }
-    // NAME
-    else if( Match( lastUriSeg, KXdmDmName ) )
-        {
-        // first check if the new value is same as earlier
-        HBufC* current = NULL;
-        TInt error( KErrNone );
-        TRAP( error, ( current = TXdmSettingsApi::PropertyL( settingsId, EXdmPropName ) ) );
-        if ( error == KErrNone )
-            {
-            TBool same ( EFalse );
-            CleanupStack::PushL( current );   // << current
-            HBufC8* current8 = ConvertLC( *current ); // << current8
-            if ( Match( current8->Des(), aObject ) )
-                {
-                same = ETrue;
-                }
-            CleanupStack::PopAndDestroy( 2, current8 );  // >>> current, current8
-            if ( same )
-                {
-                Callback().SetStatusL( aStatusRef, status );
-                return;
-                }
-            }
-        // if the name is already in use, new name with index is created
-        HBufC* value = CheckExistingNamesLC( aObject );     // << value
-        TRAP( error, TXdmSettingsApi::UpdatePropertyL( settingsId, *value, EXdmPropName ) );
-        CleanupStack::PopAndDestroy( value );                      // >>> value
-        if ( error != KErrNone )
-            {
-            status = CSmlDmAdapter::ENotFound;
-            }
-        Callback().SetStatusL( aStatusRef, status );
-        return;  
-        }   
-    // PROVIDER-ID  
-    else if( Match( lastUriSeg, KXdmDmProviderId ) )
-        {
-        property = EXdmPropProvId;  
-        }
-    // URI
-    else if( Match( lastUriSeg, KXdmDmUri) )
-        {
-        property = EXdmPropUri;  
-        }
-    // AAUTHNAME
-    else if( Match( lastUriSeg, KXdmDmAAuthName) )
-        {
-        property = EXdmPropAuthName;  
-        }
-    // AAUTHSECRET
-    else if( Match( lastUriSeg, KXdmDmAAuthSecret) )
-        {
-        property = EXdmPropAuthSecret;  
-        }
-    // AAUTHTYPE
-    else if( Match( lastUriSeg, KXdmDmAAuthType ) )
-        {
-        property = EXdmPropAuthType;  
-        }           
-    // ToConRef/TO-NAPID/ConRef
-    // ToConRef/SIP/ConRef
-    else if( Match( lastUriSeg, KXdmDmConRef ) )
-        {
-        TPtrC8 conRefUri = NSmlDmURI::RemoveLastSeg( aUri );
-        TPtrC8 lastConRefSeg = NSmlDmURI::LastURISeg( conRefUri );
-        if( Match( lastConRefSeg, KXdmDmToNapId ) )
-            {
-            TInt iapId = IapIdFromURIL( aObject );
-            HBufC8* idBuf = IntToDes8LC( iapId ); // << idBuf
-            status = UpdatePropertyL( settingsId, EXdmPropToNapId, *idBuf ); 
-            CleanupStack::PopAndDestroy( idBuf );        // >>> idBuf
-            Callback().SetStatusL( aStatusRef, status ); 
- #ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL(): TO_NAPID/ConRef end") );
- #endif
-            return;
-            } 
-        else if( Match( lastConRefSeg, KXdmDmSip ) )
-            {
-            TInt sipId = GetSipIdL( aObject );
-            HBufC8* idBuf = IntToDes8LC( sipId ); // << idBuf
-            status = UpdatePropertyL( settingsId, EXdmPropToAppRef, *idBuf ); 
-            CleanupStack::PopAndDestroy( idBuf );        // >>> idBuf
-            Callback().SetStatusL( aStatusRef, status ); 
- #ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL(): SIP/ConRef end") );
- #endif
-            return;
-            }  
-        else
-            {
-            status = CSmlDmAdapter::ENotFound;
-            }           
-        }  
-    else
-        {
-        status = CSmlDmAdapter::ENotFound;
-        }
-    // known property
-    if ( status == CSmlDmAdapter::EOk )
-        {
-        status = UpdatePropertyL( settingsId, property, aObject ); 
-        }
-
-    Callback().SetStatusL( aStatusRef, status ); 
-        
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::UpdateLeafObjectL(): end") );
- #endif
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::AddNodeObjectL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::AddNodeObjectL( const TDesC8& aUri, 
-                                    const TDesC8& /*aParentLUID*/, 
-                                    const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::AddNodeObjectL(): begin") );
-#endif    
-  
-    CSmlDmAdapter::TError status = CSmlDmAdapter::EError;
-    if ( Match( NSmlDmURI::RemoveLastSeg( aUri ), KXdmDmNodeName ) )
-        {
-        // create new set
-        CXdmSettingsCollection* collection = new ( ELeave ) CXdmSettingsCollection;
-        CleanupStack::PushL( collection );  // << collection
-        collection->AppendL( KXdmDefaultId, EXdmPropSettingsId );
-        TInt id = TXdmSettingsApi::CreateCollectionL( *collection );
-        HBufC8* luid = IntToDes8LC( id );   // << luid
-        Callback().SetMappingL( aUri, *luid );
-        CleanupStack::PopAndDestroy( 2, luid );   // >>> collection, luid  
-        status =  CSmlDmAdapter::EOk;  
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::AddNodeObjectL(): Settings created id=%d"), id );
-#endif
-        }
-    Callback().SetStatusL( aStatusRef, status );
-    
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::AddNodeObjectL(): end") );
-#endif
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::DeleteObjectL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::DeleteObjectL( const TDesC8& aUri, 
-                                   const TDesC8& aLUID, 
-                                   const TInt aStatusRef )
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DeleteObjectL( ): begin") );
-#endif
-
-    CSmlDmAdapter::TError status = CSmlDmAdapter::EError;
-    if ( Match( NSmlDmURI::RemoveLastSeg( aUri ), KXdmDmNodeName ) )
-        {
-        TInt id = FindSettingsIdL( aLUID, aUri );
-        TInt error (KErrNone );
-        TRAP( error, TXdmSettingsApi::RemoveCollectionL( id ) ); 
-        if ( error == KErrNone )
-            {
-            status = CSmlDmAdapter::EOk;
-            }
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DeleteObjectL(): Settings deleted id=%d"), id );
-#endif
-        }
-    Callback().SetStatusL( aStatusRef, status );
-    
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::DeleteObjectL( ): end") );
-#endif
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::UpdateLeafObjectL
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::UpdateLeafObjectL( const TDesC8& /*aUri*/, 
-                                       const TDesC8& /*aLUID*/, 
-                                       RWriteStream*& /*aStream*/, 
-                                       const TDesC8& /*aType*/, 
-                                       const TInt aStatusRef )
-    {  
-    // Update from stream not used
-    Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::ExecuteCommandL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::ExecuteCommandL( const TDesC8& /*aUri*/, 
-                                     const TDesC8& /*aLUID*/, 
-                                     const TDesC8& /*aArgument*/, 
-                                     const TDesC8& /*aType*/, 
-                                     const TInt aStatusRef )
-    {
-    // Not supported 
-    Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::ExecuteCommandL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::ExecuteCommandL( const TDesC8& /*aUri*/, 
-                                     const TDesC8& /*aLUID*/, 
-                                     RWriteStream*& /*aStream*/, 
-                                     const TDesC8& /*aType*/, 
-                                     const TInt aStatusRef )
-    {
-    // Not supported
-    Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::CopyCommandL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::CopyCommandL( const TDesC8& /*aTargetURI*/, 
-                                  const TDesC8& /*aTargetLUID*/, 
-                                  const TDesC8& /*aSourceURI*/, 
-                                  const TDesC8& /*aSourceLUID*/, 
-                                  const TDesC8& /*aType*/, 
-                                  TInt aStatusRef )
-    {
-    // Not supported
-    Callback().SetStatusL( aStatusRef, CSmlDmAdapter::EError );
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::StartAtomicL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::StartAtomicL()
-    {
-    // Not supported
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::CommitAtomicL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::CommitAtomicL()
-    {
-    // Not supported
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::RollbackAtomicL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::RollbackAtomicL()
-    {
-    // Not supported
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::StreamingSupport()
-// -----------------------------------------------------------------------------
-//
-TBool CXdmDMAdapter::StreamingSupport( TInt& /*aItemSize*/ )
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::StreamCommittedL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::StreamCommittedL()
-    {
-    // Not supported
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::CompleteOutstandingCmdsL()
-// -----------------------------------------------------------------------------
-//
-void CXdmDMAdapter::CompleteOutstandingCmdsL()
-    {
-#ifdef _DEBUG
-    WriteToLog(_L8("CXdmDMAdapter::CompleteOutstandingCmdsL()") );  
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::GetPropertyL
-// -----------------------------------------------------------------------------
-//
-CSmlDmAdapter::TError CXdmDMAdapter::GetPropertyL( TInt aSettingsId, 
-                                                   TXdmSettingsProperty aProperty, 
-                                                   CBufBase& aObject )
-    {
-    HBufC* value = NULL;
-    TInt error( KErrNone );
-    TRAP( error, ( value = TXdmSettingsApi::PropertyL( aSettingsId, aProperty ) ) );
-    if ( error == KErrNone )
-        {
-        CleanupStack::PushL( value );           // << value
-        HBufC8* utfValue = ConvertLC( *value ); // << utfValue
-        aObject.InsertL( 0, *utfValue );
-        CleanupStack::PopAndDestroy( 2, utfValue );       // >>> value, utfValue
-        return CSmlDmAdapter::EOk;
-        }
-    return CSmlDmAdapter::ENotFound;
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::UpdatePropertyL
-// -----------------------------------------------------------------------------
-//
-CSmlDmAdapter::TError CXdmDMAdapter::UpdatePropertyL( TInt aSettingsId, 
-                                                      TXdmSettingsProperty aProperty, 
-                                                      const TDesC8& aObject )
-    {
-    HBufC* value = ConvertLC( aObject ); // << value
-    TInt error( KErrNone );
-    TRAP( error, TXdmSettingsApi::UpdatePropertyL( aSettingsId, *value, aProperty )  );
-    CleanupStack::PopAndDestroy( value );     // >>> value
-
-    if ( error == KErrNone )
-        {
-        return CSmlDmAdapter::EOk;
-        }
-    return CSmlDmAdapter::ENotFound;
-    }
-          
- 
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::FillNodeInfoL
-// ------------------------------------------------------------------------------
-//
-void CXdmDMAdapter::FillNodeInfoL( MSmlDmDDFObject& aNode,
-                                   TSmlDmAccessTypes aAccTypes,
-                                   MSmlDmDDFObject::TOccurence aOccurrence, 
-                                   MSmlDmDDFObject::TScope aScope, 
-                                   MSmlDmDDFObject::TDFFormat aFormat,
-                                   const TDesC8& aDescription)
-    {
-    aNode.SetAccessTypesL( aAccTypes );
-    aNode.SetOccurenceL( aOccurrence );
-    aNode.SetScopeL( aScope );
-    aNode.SetDFFormatL( aFormat );
-    
-    if( aFormat != MSmlDmDDFObject::ENode )
-        {
-        aNode.AddDFTypeMimeTypeL( KXdmDmTextPlain );
-        }
-    aNode.SetDescriptionL( aDescription );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CXdmDMAdapter::IapIdFromURIL
-// ----------------------------------------------------------------------------
-//
-TInt CXdmDMAdapter::IapIdFromURIL( const TDesC8& aUri )
-    {
-    TInt id( KErrNotFound );
-    MSmlDmAdapter::TError status( MSmlDmAdapter::EError );
-    CBufBase* result = CBufFlat::NewL(1);
-    CleanupStack::PushL( result );  // << result
-       
-    TPtrC8 uri = NSmlDmURI::RemoveDotSlash( aUri ); 
-    // Request the identifier 
-    Callback().FetchLinkL( uri, *result, status );
-    
-    if( status == MSmlDmAdapter::EOk )
-        {
-        HBufC8* luid = Callback().GetLuidAllocL( uri ); 
-        if ( luid && luid->Length() )
-            {
-            id = DesToInt( *luid );
-            } 
-        delete luid;
-        luid = NULL;
-        }
-
-    CleanupStack::PopAndDestroy( result );  // >>> result
-    return id;
-    } 
-
-// ----------------------------------------------------------------------------
-// CXdmDMAdapter::URIFromIapIdL
-// ----------------------------------------------------------------------------
-//
-HBufC8* CXdmDMAdapter::URIFromIapIdL( TInt aId )
-    {
-    CBufBase *allIds = CBufFlat::NewL(KXdmDmIdTableSize);
-    CleanupStack::PushL( allIds );  // << allIds
-    MSmlDmAdapter::TError status;
-    // Fetch all IAP ids
-    Callback().FetchLinkL( KXdmDmAP, *allIds, status );
-
-    if ( status == MSmlDmAdapter::EOk )
-        {   
-        TInt index(0);
-        TInt segStart(0);
-        while ( index != KErrNotFound )
-            { 
-            // Get pointer from segStart            
-            TPtrC8 allIdsPtr = allIds->Ptr(segStart).Mid(0);
-            // Find the end of the segment
-            index = allIdsPtr.Locate('/');
-            HBufC8* uriSeg = NULL;
-            // This is the last one
-            if ( index == KErrNotFound )
-                {
-                TPtrC8 uriSeg8Ptr = allIds->Ptr(segStart);
-                uriSeg = uriSeg8Ptr.AllocLC();  // << uriSeg
-                }
-            else
-                {
-                TPtrC8 uriSeg8Ptr = allIds->Ptr(segStart).Mid( 0, index );
-                uriSeg = uriSeg8Ptr.AllocLC();  // << uriSeg8Ptr
-                }
-            // Construct the uri
-            HBufC8* uri = HBufC8::NewLC( KXdmDmAP().Length() 
-                                         + KXdmDmSeparator().Length() 
-                                         + uriSeg->Length() ); // << uri
-            TPtr8 uriPtr = uri->Des();
-            uriPtr.Format( KXdmDmAP );
-            uriPtr.Append( KXdmDmSeparator );
-            uriPtr.Append( *uriSeg );
-            // Get the luid from the uri
-            HBufC8* luid = Callback().GetLuidAllocL( uriPtr );
-            if ( luid && luid->Length() > 0 )
-                {
-                // No need to push luid to the CleanupStack
-                TInt id = DesToInt( luid->Des() );
-                delete luid;
-                luid = NULL;
-                if ( id == aId )
-                    {
-                    // The correct one found
-                    CleanupStack::Pop();  // >>> uri
-                    CleanupStack::PopAndDestroy( 2, allIds );  // >>> uriSeg, allIds
-                    return uri;
-                    }
-                }
-            // This was wrong, delete and get the next one
-            CleanupStack::PopAndDestroy( 2, uriSeg ); // >>> uri, uriSeg
-            segStart += index + 1;
-            }        
-        }
-    CleanupStack::PopAndDestroy( allIds ); // >>> allIds
-    return NULL;
-    }  
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::GetSipIdL
-// -----------------------------------------------------------------------------
-//
-TInt CXdmDMAdapter::GetSipIdL( const TDesC8& aUri )
-    {
-
-    CSmlDmAdapter::TError status = EOk;
-    CBufBase* result = CBufFlat::NewL(1);
-    CleanupStack::PushL( result );    // << result
-
-    TPtrC8 uri = NSmlDmURI::RemoveDotSlash( aUri );
-    // Request the sip settings identifier
-    Callback().FetchLinkL( uri, *result, status);
-        
-    if( status == EOk )
-        {
-        TUint32 id( 0 );
-        TPtrC8 hexIndex = uri.Right( KXdmDmHexLength );
-        TLex8 lexer( hexIndex );
-        lexer.Val( id, EHex );
-        CleanupStack::PopAndDestroy( result );   // >>> result   
-        return id;       
-        }
-    CleanupStack::PopAndDestroy( result );   // >>> result   
-    return KErrNotFound;       
-    }
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::FetchSipConRefL
-// -----------------------------------------------------------------------------
-//
-CSmlDmAdapter::TError CXdmDMAdapter::FetchSipConRefL( TInt aSettingsId,
-                                                      CBufBase& aObject)
-    {
-
-    CSmlDmAdapter::TError status = CSmlDmAdapter::EOk;
-    TInt sipSettingsId( KErrNotFound );
-    
-    HBufC* value = NULL;
-    TInt error( KErrNone );
-    TRAP( error, ( value = TXdmSettingsApi::PropertyL( aSettingsId, EXdmPropToAppRef ) ) );
-    if ( error == KErrNone )
-        {
-        sipSettingsId = DesToInt( *value );
-        delete value;
-        value = NULL;
-        }
-    
-    if( sipSettingsId != KErrNotFound )
-        {
-        CBufBase* result = CBufFlat::NewL(1);
-        CleanupStack::PushL(result);    // << result
-        
-        // Request all the sip settings identifiers 
-        Callback().FetchLinkL( KXdmDmSip, *result, status);
-        
-        if( status == EOk )
-            {
-            TPtr8 uriSeg8Ptr = result->Ptr(0);
-            
-            HBufC8* uriSegBuffer = uriSeg8Ptr.AllocL();
-            CleanupStack::PushL( uriSegBuffer );  // << uriSegBuffer
-            
-            TPtr8 uriSegBufferPtr = uriSegBuffer->Des();
-            
-            TInt numOfUriSegs = NSmlDmURI::NumOfURISegs(uriSeg8Ptr);
-            
-            // Check if the SIP settings id match with one of the found
-            // SIP settings identifiers
-            while( numOfUriSegs > 1)
-                {
-                uriSegBufferPtr = NSmlDmURI::RemoveLastSeg(uriSegBufferPtr);
-                
-                TPtrC8 hexIndex = uriSegBufferPtr.Right(KXdmDmHexLength);
-                
-                TUint32 id(0);
-                TLex8 lexer(hexIndex);
-                if( lexer.Val(id, EHex) == KErrNone )
-                    {
-                    if( id == sipSettingsId )
-                        {
-                        TPtrC8 lastUriSegSip = NSmlDmURI::LastURISeg(uriSegBufferPtr);
-                        
-                        // Total length of the sip settings link where one is for
-                        // the separator
-                        TInt sipLinkLength = KXdmDmSip().Length() + 
-                                             KXdmDmSeparator().Length() +
-                                             lastUriSegSip.Length();
-                        HBufC8* sipLink = HBufC8::NewLC( sipLinkLength );   // <<< sipLink
-                        
-                        TPtr8 sipLinkPtr = sipLink->Des();
-                        sipLinkPtr.Append( KXdmDmSip );
-                        sipLinkPtr.Append( KXdmDmSeparator );
-                        sipLinkPtr.Append( lastUriSegSip );
-                        
-                        aObject.InsertL( 0, sipLinkPtr );
-                        
-                        CleanupStack::PopAndDestroy( sipLink );   // >>> sipLink
-                        break;
-                        }
-                    }
-                
-                numOfUriSegs -= 1;  
-                }
-            
-            CleanupStack::PopAndDestroy( uriSegBuffer );    // >>> uriSegBuffer
-            }
-        
-        CleanupStack::PopAndDestroy( result );    // >>> result
-        }
-    else
-        {
-        status = CSmlDmAdapter::ENotFound;
-        }
-    
-    return status;
-    }   
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::FindSettingsIdL
-// -----------------------------------------------------------------------------
-//      
-TInt CXdmDMAdapter::FindSettingsIdL( const TDesC8& aLUID, const TDesC8& aUri )
-    {
-    TInt settingsId(0);
-    if ( aLUID.Length() > 0 )
-        {
-        settingsId = DesToInt( aLUID );
-        return settingsId;
-        }
-    else
-        {
-        TPtrC8 name = NSmlDmURI:: URISeg( aUri, KXdmDmLevel );
-        settingsId = DesToInt( name );
-        HBufC8* luid = IntToDes8LC( settingsId ); // << luid
-        Callback().SetMappingL( aUri, *luid );
-        CleanupStack::PopAndDestroy( luid ); // luid 
-        return settingsId;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::CheckExistingNamesLC()
-// -----------------------------------------------------------------------------
-// 
-HBufC* CXdmDMAdapter::CheckExistingNamesLC( const TDesC8& aName )
-    {    
-    TBool ready( EFalse );  
-    RArray<TInt> settingIds;
-    CleanupClosePushL( settingIds );                // << settingIds
-    CDesCArray* settingNames = TXdmSettingsApi::CollectionNamesLC( settingIds ); // << settingNames
-    TInt index( 0 );
-    TBuf<512> tempName;
-    while ( !ready )
-        {
-        TBool found ( EFalse );
-        TInt count = settingNames->MdcaCount();
-        tempName.Copy( aName );
-        if ( index > 0 )
-            {
-            tempName.Append( KXdmDmStartBracket );
-            tempName.AppendNumFixedWidth( index, EDecimal, 2 );
-            tempName.Append( KXdmDmCloseBracket );
-            }
-        for ( TInt i(0); i < count && !found; i++ )
-            {
-            if ( !settingNames->MdcaPoint(i).CompareF( tempName ) )
-                {
-                found = ETrue;
-                index++;
-                }
-            }
-        if ( !found )
-            {
-            ready = ETrue;
-            }
-        }
-    CleanupStack::PopAndDestroy( 2 );   // >>> settingNames, settingIds
-    HBufC* newName = tempName.AllocLC();    // << newName
-    return newName;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::Match
-// -----------------------------------------------------------------------------
-//
-TBool CXdmDMAdapter::Match( const TDesC8& aLeft, const TDesC8& aRight )
-    {
-    if ( !aLeft.Compare( aRight ) )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::ConvertLC
-// -----------------------------------------------------------------------------
-//  
-HBufC8* CXdmDMAdapter::ConvertLC( const TDesC& aSource )
-    {   
-    HBufC8* destination = HBufC8::NewLC( aSource.Length() ); // << destination
-    TPtr8 bufferPtr = destination->Des();
-    CnvUtfConverter::ConvertFromUnicodeToUtf8( bufferPtr, aSource );
-    return destination;
-    }   
-    
-// -----------------------------------------------------------------------------
-// CXdmDMAdapter::ConvertLC
-// -----------------------------------------------------------------------------
-//  
-HBufC*  CXdmDMAdapter::ConvertLC( const TDesC8& aSource )
-    {   
-    HBufC* destination = HBufC::NewLC( aSource.Length() );  // << destination
-    TPtr bufferPtr = destination->Des();
-    CnvUtfConverter::ConvertToUnicodeFromUtf8( bufferPtr, aSource );
-    return destination;
-    }
-// ----------------------------------------------------------------------------
-// CXdmDMAdapter::DesToInt
-// ----------------------------------------------------------------------------
-TInt CXdmDMAdapter::DesToInt( const TDesC& aSource ) const
-    {
-    TLex16 lex( aSource );
-    TInt value ( KErrNotFound );
-    lex.Val( value );
-    return value;
-    }
-
-// ----------------------------------------------------------------------------
-// CXdmDMAdapter::DesToInt
-// ----------------------------------------------------------------------------
-TInt CXdmDMAdapter::DesToInt( const TDesC8& aSource ) const
-    {
-    TLex8 lex( aSource );
-    TInt value ( KErrNotFound );
-    lex.Val( value );
-    return value;
-    }
-
-// ----------------------------------------------------------------------------
-// CXdmDMAdapter::IntToDes8LC
-// ----------------------------------------------------------------------------
-HBufC8* CXdmDMAdapter::IntToDes8LC( const TInt aSource )
-    {
-    // 10 = max length of 32bit integer
-    HBufC8* buf = HBufC8::NewLC( KXdmDmMaxIntLength ); // << buf
-    TPtr8 ptrBuf = buf->Des();
-    ptrBuf.Num( aSource );
-    return buf;
-    }
-
-// ----------------------------------------------------
-// CXdmDMAdapter::WriteToLog
-// DEBUG only
-// ----------------------------------------------------
-//
-#ifdef _DEBUG
-void CXdmDMAdapter::WriteToLog( TRefByValue<const TDesC8> aFmt,... )                                 
-    {
-    VA_LIST list;
-    VA_START( list, aFmt );
-    TBuf8<KXdmDmLogBufferMaxSize> buf;
-    buf.FormatList( aFmt, list );
-    RFileLogger::Write( KXdmDmLogDir, KXdmDmLogFile, EFileLoggingModeAppend, buf );
-    }                           
-#endif                              
-                                
-// End of File
-
-
-