diff -r 77cb48a03620 -r d9861ae9169c XDMEngine/XdmProvisioning/src/xdmprovadapter.cpp --- a/XDMEngine/XdmProvisioning/src/xdmprovadapter.cpp Thu Jul 01 14:09:06 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,375 +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: XDM Provisioning Adapter implementation. -* -*/ - - - - - -// INCLUDE FILES -#include -#include -#include -#include - -#include "xdmprovitem.h" -#include "xdmprovadapter.h" - - -#ifdef _DEBUG - #include -#endif - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::CXdmProvAdapter -// -// ----------------------------------------------------------------------------- -// -CXdmProvAdapter::CXdmProvAdapter(): -iDefaultName( NULL ), -iTitle( NULL ), -iProvItems( 1 ) - { - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::ConstructL() - { - // AdapterUtil needs the name of the resource file without the prefix and - // the path returned by Dll::FileName. Note that Dll::FileName is an - // undocumented method. - // - _LIT( KXdmAdapterName, "xdmprovisioningtexts"); // xdmprovisioningtexts.rss - TFileName fileName; - Dll::FileName(fileName); - - iTitle = WPAdapterUtil::ReadHBufCL( fileName, - KXdmAdapterName, - R_QTN_SM_HEAD_CONNECTION); - iDefaultName = WPAdapterUtil::ReadHBufCL( fileName, - KXdmAdapterName, - R_QTN_XDM_PROVISIONING_NAME); - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CXdmProvAdapter* CXdmProvAdapter::NewL() - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::NewL" ) ); -#endif - CXdmProvAdapter* self = new(ELeave) CXdmProvAdapter; - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::~CXdmProvAdapter -// Destructor -// ----------------------------------------------------------------------------- -// -CXdmProvAdapter::~CXdmProvAdapter() - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::~CXdmProvAdapter" ) ); -#endif - delete iTitle; - delete iDefaultName; - iProvItems.ResetAndDestroy(); - iProvItems.Close(); - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::ItemCount -// ----------------------------------------------------------------------------- -// -TInt CXdmProvAdapter::ItemCount() const - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::ItemCount returns %d" ), iProvItems.Count()); -#endif - return iProvItems.Count(); - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SummaryTitle -// ----------------------------------------------------------------------------- -// -const TDesC16& CXdmProvAdapter::SummaryTitle(TInt /*aIndex*/) const - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SummaryTitle" ) ); -#endif - return *iTitle; - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SummaryText -// ----------------------------------------------------------------------------- -// -const TDesC16& CXdmProvAdapter::SummaryText( TInt aIndex ) const - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SummaryText" ) ); -#endif - TInt count = iProvItems.Count(); - if( aIndex < count ) - { - if( 0 < iProvItems[aIndex]->Name().Length() ) - { - return iProvItems[aIndex]->Name(); - } - } - return *iDefaultName; - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SaveL -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::SaveL( TInt aItem ) - { - if ( aItem < iProvItems.Count() - 1 ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SaveL leaves with KErrArgument" ) ); -#endif - User::Leave ( KErrArgument ); - } - iProvItems[aItem]->SaveL(); -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SaveL done" ) ); -#endif - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::CanSetAsDefault -// ----------------------------------------------------------------------------- -// -TBool CXdmProvAdapter::CanSetAsDefault( TInt /*aItem*/ ) const - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::CanSetAsDefault" ) ); -#endif - return EFalse; - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SetAsDefaultL -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::SetAsDefaultL( TInt /*aItem*/ ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SetAsDefaultL" ) ); -#endif - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::DetailsL -// -// ----------------------------------------------------------------------------- -// -TInt CXdmProvAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor*/ ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::DetailsL" ) ); -#endif - return KErrNotSupported; - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::VisitL( CWPCharacteristic& aCharacteristic ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::VisitL( CWPCharacteristic& aCharacteristic)" ) ); -#endif - if( KWPApplication == aCharacteristic.Type() ) - { - CXdmProvItem* item = CXdmProvItem::NewL(); - CleanupStack::PushL( item ); // << item - aCharacteristic.AcceptL( *item ); - - if( item->Validate() ) - { - iProvItems.AppendL( item ); - CleanupStack::Pop( item ); // >> item - } - else - { - CleanupStack::PopAndDestroy( item ); // >>> item - } - } - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::VisitL( CWPParameter& /*aParameter*/ ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::VisitL( CWPParameter& /*aParameter*/" ) ); -#endif - // Not used. - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::VisitLinkL -// ----------------------------------------------------------------------------- -// -void CXdmProvAdapter::VisitLinkL( CWPCharacteristic& /*aLink*/ ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::VisitLinkL( CWPCharacteristic& aLink" ) ); -#endif - // Not used. - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SettingsSavedL -// -// ----------------------------------------------------------------------------- -void CXdmProvAdapter::SettingsSavedL( const TDesC8& aAppIdOfSavingItem, - const TDesC8& aAppRef, - const TDesC8& aStorageIdValue ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SettingsSavedL" ) ); -#endif - // Convert aAppRef - HBufC* appRef16 = HBufC::NewLC( aAppRef.Length() ); // << aAppRef16 - appRef16->Des().Copy( aAppRef ); - - // Offer application references to all provisioned XDM settings - TInt provItemsCount( iProvItems.Count() ); - for( TInt i(0); i < provItemsCount; i++ ) - { - CXdmProvItem* item = iProvItems[i]; - const RArray& toAppRefs = item->ToAppReferences(); - - // Find application reference that is being offered - TInt toAppRefsCount( toAppRefs.Count() ); - for( TInt j(0); j < toAppRefsCount; j++ ) - { - const TDesC& toAppRef = toAppRefs[j]; - if( !toAppRef.Compare( *appRef16 ) ) - { - // Set correct application reference - if( !aAppIdOfSavingItem.Compare( KXdmProvSipIdentifier ) ) - { - item->SetSipSettingsIdL( aStorageIdValue ); - break; - } - } - } - } - CleanupStack::PopAndDestroy( appRef16 ); // >>> appRef16 - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::GetSavingInfoL -// -// ----------------------------------------------------------------------------- -void CXdmProvAdapter::GetSavingInfoL( TInt aIndex, - RPointerArray& aSavingInfo ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::GetSavingInfoL" ) ); -#endif - if ( aIndex < iProvItems.Count() - 1 ) - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::GetSavingInfoL leaves with KErrArgument" ) ); -#endif - User::Leave ( KErrArgument ); - } - TInt length ( iProvItems[aIndex]->AppReference().Length() ); - // if the APPREF exists - if ( 0 < length ) - { - // APPID into place [0]. - TPtrC8 appId ( KXdmProvAppId8 ); - HBufC8* appIdBuf = appId.AllocLC(); // << appIdBuf - aSavingInfo.AppendL( appIdBuf ); - CleanupStack::Pop( appIdBuf ); // >> appIdBuf - appIdBuf = NULL; - - // APPREF into place [1]. - HBufC8* appRefBuf = HBufC8::NewLC( length ); // << appRefBuf - TPtr8 appRef = appRefBuf->Des(); - appRef.Copy( iProvItems[aIndex]->AppReference() ); - aSavingInfo.AppendL( appRefBuf ); - CleanupStack::Pop( appRefBuf ); // >> appRefBuf - appRefBuf = NULL; - - // Xdm settings id into place [2]. - HBufC8* idBuf = HBufC8::NewLC( KXdmProvIntMaxLength ); // << idBuf - TPtr8 id = idBuf->Des(); - id.Num( iProvItems[aIndex]->XdmSettingsId() ); - aSavingInfo.AppendL( idBuf ); - CleanupStack::Pop( idBuf ); // >> idBuf - idBuf = NULL; - } - -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::GetSavingInfoL done" ) ); -#endif - } - -// ----------------------------------------------------------------------------- -// CXdmProvAdapter::SavingFinalizedL() -// -// ----------------------------------------------------------------------------- -void CXdmProvAdapter::SavingFinalizedL() - { -#ifdef _DEBUG - WriteToLog( _L8( "CXdmProvAdapter::SavingFinalizedL" ) ); -#endif - } - - -// ---------------------------------------------------- -// CXdmProvAdapter::WriteToLog -// _DEBUG only -// ---------------------------------------------------- -// -#ifdef _DEBUG -void CXdmProvAdapter::WriteToLog( TRefByValue aFmt,... ) - { - VA_LIST list; - VA_START( list, aFmt ); - TBuf8 buf; - buf.FormatList( aFmt, list ); - RFileLogger::Write( KXdmProvAdapterLogDir, KXdmProvAdapterLogFile, EFileLoggingModeAppend, buf ); - } -#endif -// End of File