--- a/omadm/omadmextensions/adapters/browseradapter/src/nsmlbrowseradapter.cpp Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,650 +0,0 @@
-/*
-* Copyright (c) 2007 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 browser Adapter
-*
-*/
-
-
-
-
-
-//INCLUDE FILES
-#include <implementationproxy.h> // For TImplementationProxy definition
-#include "nsmldmimpluids.h"
-
-
-#include "nsmldebug.h"
-#include "nsmlconstants.h"
-#include "nsmldmconst.h"
-#include "nsmlbrowseradapter.h"
-#include "nsmldmiapmatcher.h"
-
-#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
-#include <commdb.h>
-#include <cdbcols.h> // CommsDB columname defs
-#include <ApUtils.h>
-
-#ifndef __WINS__
- // This lowers the unnecessary compiler warning (armv5) to remark.
- // "Warning: #174-D: expression has no effect..." is caused by
- // DBG_ARGS8 macro in no-debug builds.
-#pragma diag_remark 174
-#endif
-const TInt KUserDefined = 0;
-
-
-const TUint KNSmlDMBrowserAdapterImplUid = 0x1028335F;
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter* CNSmlDmBrowserAdapter::NewL( )
-// -----------------------------------------------------------------------------
-CNSmlDmBrowserAdapter* CNSmlDmBrowserAdapter::NewL(MSmlDmCallback* aDmCallback )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::NewL(): begin");
- CNSmlDmBrowserAdapter* self = NewLC( aDmCallback );
- CleanupStack::Pop();
- _DBG_FILE("CNSmlDmBrowserAdapter::NewL(): end");
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter* CNSmlDmBrowserAdapter::NewLC( )
-// -----------------------------------------------------------------------------
-CNSmlDmBrowserAdapter* CNSmlDmBrowserAdapter::NewLC(MSmlDmCallback* aDmCallback )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::NewLC(): begin");
- CNSmlDmBrowserAdapter* self = new (ELeave) CNSmlDmBrowserAdapter(aDmCallback);
- CleanupStack::PushL(self);
- self->iDmCallback = aDmCallback;
- _DBG_FILE("CNSmlDmBrowserAdapter::NewLC(): end");
- return self;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::~CNSmlDmBrowserAdapter()
-// -----------------------------------------------------------------------------
-CNSmlDmBrowserAdapter::~CNSmlDmBrowserAdapter()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::~CNSmlDmBrowserAdapter(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::~CNSmlDmBrowserAdapter(): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::CNSmlDmBrowserAdapter()
-// -----------------------------------------------------------------------------
-
-CNSmlDmBrowserAdapter::CNSmlDmBrowserAdapter(TAny* aEcomArguments):CSmlDmAdapter(aEcomArguments)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::CNSmlDmBrowserAdapter(aEcomArguments): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::CNSmlDmBrowserAdapter(aEcomArguments): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::SetLeafPropertiesL()
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::SetLeafPropertiesL( MSmlDmDDFObject& aObject,
- const TSmlDmAccessTypes& aAccessTypes,
- const TDesC8& aDescription ) const
- {
- aObject.SetAccessTypesL( aAccessTypes );
- aObject.SetScopeL( MSmlDmDDFObject::EPermanent );
- aObject.SetDFFormatL( MSmlDmDDFObject::EChr );
- aObject.AddDFTypeMimeTypeL( KNSmlDMBrowserAdapterTextPlain );
- aObject.SetDescriptionL( aDescription );
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::DDFVersionL()
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::DDFVersionL(CBufBase& aDDFVersion)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::DDFVersionL(TDes& aDDFVersion): begin");
- aDDFVersion.InsertL(0,KNSmlDMBrowserAdapterDDFVersion);
- _DBG_FILE("CNSmlDmBrowserAdapter::DDFVersionL(TDes& aDDFVersion): end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::DDFStructureL()
-//
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::DDFStructureL( MSmlDmDDFObject& aDDF )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::DDFStructureL(): begin");
-
- TSmlDmAccessTypes accessTypes;
- accessTypes.SetGet();
-
- TSmlDmAccessTypes accessSetTypes;
- accessSetTypes.SetGet();
- accessSetTypes.SetAdd();
- accessSetTypes.SetReplace();
-
- MSmlDmDDFObject& dmBrowserAdap = aDDF.AddChildObjectL( KNSmlDMBrowserAdapterNodeName );
- dmBrowserAdap.SetAccessTypesL( accessTypes );
- dmBrowserAdap.SetScopeL( MSmlDmDDFObject::EPermanent );
- dmBrowserAdap.SetDescriptionL( KNSmlDMBrowserAdapterDescription );
-
- MSmlDmDDFObject& toNapID = dmBrowserAdap.AddChildObjectL(KNSmlDMBrowserAdapterAPNode);
- toNapID.SetAccessTypesL( accessSetTypes );
- toNapID.SetScopeL( MSmlDmDDFObject::EDynamic );
- toNapID.SetDFFormatL( MSmlDmDDFObject::EChr );
- toNapID.AddDFTypeMimeTypeL( KNSmlDMBrowserAdapterTextPlain );
- toNapID.SetDescriptionL( KNSmlDMBrowserAdapterAPNodeDescription );
-
- MSmlDmDDFObject& startpageURL = dmBrowserAdap.AddChildObjectL(KNSmlDMBrowserAdapterStartpageURL);
- startpageURL.SetAccessTypesL( accessSetTypes );
- startpageURL.SetScopeL( MSmlDmDDFObject::EPermanent );
- startpageURL.SetDFFormatL( MSmlDmDDFObject::EChr );
- startpageURL.AddDFTypeMimeTypeL( KNSmlDMBrowserAdapterTextPlain );
- startpageURL.SetDescriptionL( KNSmlDMBrowserStartpageURLDescription );
- _DBG_FILE("CNSmlDmBrowserAdapter::DDFStructureL(): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::UpdateLeafObjectL()
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::UpdateLeafObjectL( const TDesC8& aURI,
- const TDesC8& aLUID,
- const TDesC8& aObject,
- const TDesC8& aType,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): begin");
-
- CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
- TInt ret = aURI.LocateReverse(KNSmlURISeparator()[0]);
- if ( ret == KErrNotFound )
- {
- retValue = CSmlDmAdapter::EError;
- iDmCallback->SetStatusL( aStatusRef, retValue );
- }
- else
- {
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EOk );
- TInt len = aURI.Length() - (ret + 1);
- TPtrC8 segment = aURI.Right( len );
-
- DBG_ARGS8(_S8(" Value being set URI - <%S> <%S> "), &aURI, &aObject );
-
- if (segment == KNSmlDMBrowserAdapterAPNode )
- {
- // Get IAP ID and then set the browser setting
- TInt err = KErrNone;
- CNSmlDMIAPMatcher* iapmatch = CNSmlDMIAPMatcher::NewL( &Callback() );
- CleanupStack::PushL(iapmatch);
-
- TInt iap = iapmatch->IAPIdFromURIL( aObject );
-
- CleanupStack::PopAndDestroy(); // iapmatch
-
- if ( iap != KErrNotFound )
- {
- CCommsDatabase* commDb = CCommsDatabase::NewL();
- CleanupStack::PushL(commDb);
- CApUtils* aputils = CApUtils::NewLC(*commDb);
- TRAP(err, iap = aputils->WapIdFromIapIdL( iap ) );
- DBG_ARGS(_S("IAP = %d"), iap);
-
- CleanupStack::PopAndDestroy(2); //commdb,aputils
-
- if( err == KErrNone)
- {
- CRepository* repository = CRepository::NewLC( KCRUidBrowser );
-
- // Force the browser to use the User Defined AP selection mode.
- User::LeaveIfError( repository->Set( KBrowserAccessPointSelectionMode,
- KUserDefined ) );
- // This sets the accesspoint default for browser.
- User::LeaveIfError( repository->Set( KBrowserDefaultAccessPoint,
- iap ) );
- CleanupStack::PopAndDestroy(); // repository
-
- }
- else
- {
- _DBG_FILE("CNSmlDmMMSAdapter::UpdateDataL(): \
- err!=KErrNone");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EInvalidObject );
-
- }
- }
- else
- {
- _DBG_FILE("CNSmlDmMMSAdapter::UpdateDataL(): status = \
- CSmlDmAdapter::EInvalidObject");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EInvalidObject );
- }
- }
- else if(segment == KNSmlDMBrowserAdapterStartpageURL )
- {
- // To Get the Browser Start page URL
- TBuf<KMaxLengthStartpageName> aBuf;
- TInt aErr;
- aBuf.Zero();
- aBuf.Copy(aObject);
-
- if(aBuf.Length() == 0 || aBuf.Length() > KMaxLengthStartpageName)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Error Zero Length String");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EInvalidObject);
- return;
- }
-
-
- CRepository* repository = CRepository::NewLC( KCRUidBrowser );
-
- if(repository)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Before Set for StartPage");
- User::LeaveIfError( aErr = repository->Set( KBrowserNGStartpageURL,aBuf));
- if(aErr != KErrNone)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Error in Cenrep Set");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError);
- return;
- }
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Before Set for StartPageType");
- User::LeaveIfError( aErr = repository->Set( KBrowserNGHomepageType,KBrowserHomePageUDefined));
- if(aErr != KErrNone)
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Error in Cenrep Set");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError);
- return;
- }
-
- }
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): Before Setting status to OK");
- CleanupStack::PopAndDestroy(); // repository
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EOk );
-
- }
- else
- {
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EOk );
- }
- }
-
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::DeleteObjectL()
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::DeleteObjectL( const TDesC8& /*aURI*/,
- const TDesC8& /*aLUID*/,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::DeleteLeafObjectL( ): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::DeleteLeafObjectL( ): end");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID,
-// const TDesC8& aType, const TInt aResultsRef, const TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::FetchLeafObjectL( const TDesC8& aURI,
- const TDesC8& /*aLUID*/,
- const TDesC8& aType,
- const TInt aResultsRef,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::FetchLeafObjectL(): begin");
-
- CBufBase *object = CBufFlat::NewL( 1 );
- CleanupStack::PushL( object );
-
- CSmlDmAdapter::TError retValue = FetchLeafObjectL( aURI, *object );
-
- iDmCallback->SetStatusL( aStatusRef, retValue );
- iDmCallback->SetResultsL( aResultsRef, *object, aType );
- CleanupStack::PopAndDestroy(); //object
- _DBG_FILE("CNSmlDmDevInfoAdapt+er::FetchLeafObjectL(): end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::ChildURIListL( const TDesC& aURI,
-// const TDesC& aParentLUID, const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
-// const TInt aResultsRef, const TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::ChildURIListL( const TDesC8& aURI,
- const TDesC8& /*aParentLUID*/,
- const CArrayFix<TSmlDmMappingInfo>& /*aPreviousURISegmentList*/,
- const TInt aResultsRef,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::ChildURIListL(): begin");
- CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
- CBufBase* currentURISegmentList = CBufFlat::NewL( 1 );
- CleanupStack::PushL( currentURISegmentList );
- TInt ret = aURI.LocateReverse(KNSmlURISeparator()[0]);
- if ( ret == KErrNotFound )
- {
- ret = -1;
- }
- TInt len = aURI.Length() - ( ret + 1 );
- TPtrC8 segment = aURI.Right( len );
-
- if ( segment == KNSmlDMBrowserAdapterNodeName )
- {
- currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMBrowserAdapterBrowserNodes() );
- }
-
- else
- {
- retValue = CSmlDmAdapter::EError;
- }
- iDmCallback->SetStatusL( aStatusRef, retValue );
- iDmCallback->SetResultsL( aResultsRef, *currentURISegmentList, KNullDesC8 );
- CleanupStack::PopAndDestroy(); //currentURISegmentList
- _DBG_FILE("CNSmlDmBrowserAdapter::ChildURIListL(): end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::AddNodeObjectL( const TDesC8& aURI,
-// const TDesC8& aParentLUID, const TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::AddNodeObjectL( const TDesC8& /*aURI*/,
- const TDesC8& /*aParentLUID*/,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::AddNodeObjectL(): begin");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- _DBG_FILE("CNSmlDmBrowserAdapter::AddNodeObjectL(): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::UpdateLeafObjectL()
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::UpdateLeafObjectL( const TDesC8& /*aURI*/,
- const TDesC8& /*aLUID*/,
- RWriteStream*& /*aStream*/,
- const TDesC8& /*aType*/,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): stream: begin");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- _DBG_FILE("CNSmlDmBrowserAdapter::UpdateLeafObjectL(): stream: end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::FetchLeafObjectSizeL( const TDesC8& aURI,
-// const TDesC8& aLUID, const TDesC8& aType, TInt aResultsRef, TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::FetchLeafObjectSizeL( const TDesC8& aURI,
- const TDesC8& /*aLUID*/,
- const TDesC8& aType,
- const TInt aResultsRef,
- const TInt aStatusRef )
- {
-
- _DBG_FILE("CNSmlDmBrowserAdapter::FetchLeafObjectSizeL(): begin");
-
- CBufBase *object = CBufFlat::NewL( 1 );
- CleanupStack::PushL( object );
- CSmlDmAdapter::TError retValue = FetchLeafObjectL( aURI, *object );
-
- TInt objSizeInBytes = object->Size();
- TBuf8<2> stringObjSizeInBytes;
- stringObjSizeInBytes.Num( objSizeInBytes );
- object->Reset();
- object->InsertL( 0, stringObjSizeInBytes );
-
- iDmCallback->SetStatusL( aStatusRef, retValue );
- iDmCallback->SetResultsL( aResultsRef, *object, aType );
- CleanupStack::PopAndDestroy(); //object
- _DBG_FILE("CNSmlDmBrowserAdapter::FetchLeafObjectSizeL(): end");
- }
-
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::ExecuteCommandL( const TDesC8& aURI,
-// const TDesC8& aParentLUID, TDesC8& aArgument, const TDesC8& aType, TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID, const TDesC8& aArgument, const TDesC8& aType, const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::ExecuteCommandL(): begin");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- _DBG_FILE("CNSmlDmBrowserAdapter::ExecuteCommandL(): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::ExecuteCommandL( const TDesC8& aURI,
-// const TDesC8& aParentLUID, RWriteStream*& aStream, const TDesC8& aType,
-// TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::ExecuteCommandL( const TDesC8& /*aURI*/,
- const TDesC8& /*aParentLUID*/,
- RWriteStream*& /*aStream*/,
- const TDesC8& /*aType*/,
- const TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::ExecuteCommandL(): stream: begin");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- _DBG_FILE("CNSmlDmBrowserAdapter::ExecuteCommandL(): stream: end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmBrowserAdapter::CopyCommandL( const TDesC8& aTargetURI, const TDesC8&
-// aSourceURI, const TDesC8& aSourceLUID, const TDesC8& /*aType*/, TInt aStatusRef )
-// -----------------------------------------------------------------------------
-void CNSmlDmBrowserAdapter::CopyCommandL( const TDesC8& /*aTargetURI*/, const TDesC8&
- /*aTargetLUID*/, const TDesC8& /*aSourceURI*/,
- const TDesC8& /*aSourceLUID*/,
- const TDesC8& /*aType*/, TInt aStatusRef )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::CopyCommandL(): begin");
- iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
- _DBG_FILE("CNSmlDmBrowserAdapter::CopyCommandL(): end");
- }
-
-// --------------------------------------
-// CNSmlDmBrowserAdapter::StartAtomicL()
-// --------------------------------------
-void CNSmlDmBrowserAdapter::StartAtomicL()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::StartAtomicL(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::StartAtomicL(): end");
- }
-
-// ---------------------------------------
-// CNSmlDmBrowserAdapter::CommitAtomicL()
-// ---------------------------------------
-void CNSmlDmBrowserAdapter::CommitAtomicL()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::CommitAtomicL(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::CommitAtomicL(): end");
- }
-
-// -----------------------------------------
-// CNSmlDmBrowserAdapter::RollbackAtomicL()
-// -----------------------------------------
-void CNSmlDmBrowserAdapter::RollbackAtomicL()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::RollbackAtomicL(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::RollbackAtomicL(): end");
- }
-
-// -----------------------------------------------------------
-// CNSmlDmBrowserAdapter::StreamingSupport( TInt& aItemSize )
-// -----------------------------------------------------------
-TBool CNSmlDmBrowserAdapter::StreamingSupport( TInt& /*aItemSize*/ )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::StreamingSupport(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::StreamingSupport(): end");
- return EFalse;
- }
-
-// ------------------------------------------
-// CNSmlDmBrowserAdapter::StreamCommittedL()
-// ------------------------------------------
-void CNSmlDmBrowserAdapter::StreamCommittedL()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::StreamCommittedL(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::StreamCommittedL(): end");
- }
-
-// --------------------------------------------------
-// CNSmlDmBrowserAdapter::CompleteOutstandingCmdsL()
-// --------------------------------------------------
-void CNSmlDmBrowserAdapter::CompleteOutstandingCmdsL()
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::CompleteOutstandingCmdsL(): begin");
- _DBG_FILE("CNSmlDmBrowserAdapter::CompleteOutstandingCmdsL(): end");
- }
-
-// -----------------------------------------------------------------------------
-// CNSmlDmDevDetailAdapter::FetchLeafObjectL()
-// -----------------------------------------------------------------------------
-CSmlDmAdapter::TError CNSmlDmBrowserAdapter::FetchLeafObjectL( const TDesC8& aURI,
- CBufBase& aObject )
- {
- _DBG_FILE("CNSmlDmInfoAdapter::FetchLeafObjectL(): begin");
- CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
- TInt ret = aURI.LocateReverse(KNSmlURISeparator()[0]);
- TInt err = KErrNone;
- if ( ret == KErrNotFound )
- {
- retValue = CSmlDmAdapter::EError;
- }
- else
- {
- TInt len = aURI.Length() - (ret + 1);
- TPtrC8 segment = aURI.Right( len );
-
- if(segment == KNSmlDMBrowserAdapterAPNode)
- {
- TInt iap ;
- CRepository* repository = CRepository::NewLC( KCRUidBrowser );
-
- // Force the browser to use the User Defined AP selection mode.
- TInt selectionMode;
- User::LeaveIfError( repository->Get( KBrowserAccessPointSelectionMode,
- selectionMode ) );
- if (selectionMode != KUserDefined)
- {
- retValue= CSmlDmAdapter::ENotFound;
-
- CleanupStack::PopAndDestroy(); // repository
- }
- else
- {
- // This sets the accesspoint default for browser.
- User::LeaveIfError( repository->Get( KBrowserDefaultAccessPoint,
- iap ) );
- CleanupStack::PopAndDestroy(); // repository
-
- CCommsDatabase* commDb = CCommsDatabase::NewL();
- CleanupStack::PushL(commDb);
- CApUtils* aputils = CApUtils::NewLC(*commDb);
- TRAP(err, iap = aputils->IapIdFromWapIdL( iap ) );
- DBG_ARGS(_S("IAP = %d"), iap);
-
-
- if( iap != -1 && err == KErrNone )
- {
- CNSmlDMIAPMatcher* iapmatch = CNSmlDMIAPMatcher::NewL( &Callback() );
- CleanupStack::PushL(iapmatch);
-
- HBufC8* uri8 = iapmatch->URIFromIAPIdL( iap );
-
- if( uri8 )
- {
- CleanupStack::PushL(uri8);
- aObject.InsertL(0,uri8->Des());
- retValue= CSmlDmAdapter::EOk;
-
- CleanupStack::PopAndDestroy(); // uri8
- }
- else
- {
- retValue= CSmlDmAdapter::ENotFound;
-
- }
- CleanupStack::PopAndDestroy(); // iapMatch
-
- }
- else
- {
- retValue= CSmlDmAdapter::ENotFound;
- }
- CleanupStack::PopAndDestroy(); // apUrils
- CleanupStack::PopAndDestroy(); // commDb
- }
- }
- else if(segment == KNSmlDMBrowserAdapterStartpageURL)
- {
- // To Set the Browser Start page URL
- TBuf8<KMaxLengthStartpageName> aName;
- CRepository* centrep( NULL);
- aName.Zero();
- centrep = CRepository::NewLC(KCRUidBrowser);
-
- if ( centrep )
- {
- TFullName temp;
-
- if (centrep->Get( KBrowserNGStartpageURL, temp )==KErrNone && temp.Length() )
- {
- _DBG_FILE("CNSmlDmBrowserAdapter::FetchLeafObjectL(): Got the value for start page");
- temp.Trim();
- aName.Copy(temp);
- }
- CleanupStack::PopAndDestroy(centrep);
- }
- aObject.InsertL(0,aName);
- retValue= CSmlDmAdapter::EOk;
- }
-
- }
- _DBG_FILE("CNSmlDmInfoAdapter::FetchLeafObjectL(): end");
- return retValue;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-#ifndef IMPLEMENTATION_PROXY_ENTRY
-#define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) {{aUid},(aFuncPtr)}
-#endif
-
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY(KNSmlDMBrowserAdapterImplUid, CNSmlDmBrowserAdapter::NewL)
- };
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- _DBG_FILE("ImplementationGroupProxy() for CNSmlDmBrowserAdapter: begin");
- aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
- _DBG_FILE("ImplementationGroupProxy() for CNSmlDmBrowserAdapter: end");
- return ImplementationTable;
- }
-
-// End of file
-