diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerApplicationServices.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerApplicationServices.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,385 @@ +/* +* Copyright (c) 2005-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: Phonebook 2 application services. +* +*/ + + +// INCLUDE FILES +#include "cpbk2serverapplicationservices.h" + +// Phonebook 2 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Virtual Phonebook +#include +#include + +// System includes +#include +#include + +// Debugging headers +#include +#include + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CPbk2ServerApplicationServices +// -------------------------------------------------------------------------- +// +CPbk2ServerApplicationServices::CPbk2ServerApplicationServices() + { + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::~CPbk2ServerApplicationServices +// -------------------------------------------------------------------------- +// +CPbk2ServerApplicationServices::~CPbk2ServerApplicationServices() + { + delete iServiceManager; + // sort order manager can use the views from iViewSupplier, + // so delete iSortOrderManager before iViewSupplier + delete iSortOrderManager; + delete iViewSupplier; + delete iNameFormatter; + delete iFieldProperties; + delete iStoreManager; + delete iStoreProperties; + delete iContactManager; + delete iStoreConfiguration; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::ConstructL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::ConstructL() + { + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices::ConstructL(0x%x)"), this ); + + // Create Virtual Phonebook contact manager for Phonebook 2 + CreateManagerL(); + + CreateSortOrderManagerL(); + CreateStorePropertyArrayL(); + CreateStoreConfigurationL(); + CreateViewSupplierL(); + + PBK2_PROFILE_START(Pbk2Profile::EAppServicesCreateStoreManager); + iStoreManager = CPbk2StoreManager::NewL + ( *iContactManager, *iStoreConfiguration, ETrue ); + PBK2_PROFILE_END(Pbk2Profile::EAppServicesCreateStoreManager); + + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices::ConstructL(0x%x) Store manager created"), + this ); + + + iServiceManager = CPbk2ServiceManager::NewL(iContactManager->FsSession()); + CreateFieldPropertyArrayL(); + CreateNameFormatterL(); + + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ("CPbk2ServerApplicationServices::ConstructL(0x%x) end"), this); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::NewL +// -------------------------------------------------------------------------- +// +CPbk2ServerApplicationServices* CPbk2ServerApplicationServices::NewL() + { + CPbk2ServerApplicationServices* self = + new ( ELeave ) CPbk2ServerApplicationServices(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::ContactManager +// -------------------------------------------------------------------------- +// +CVPbkContactManager& CPbk2ServerApplicationServices::ContactManager() const + { + return *iContactManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CommandHandlerL +// -------------------------------------------------------------------------- +// +MPbk2CommandHandler* CPbk2ServerApplicationServices::CommandHandlerL() + { + // Not supported in Server App + return NULL; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::NameFormatter +// -------------------------------------------------------------------------- +// +MPbk2ContactNameFormatter& + CPbk2ServerApplicationServices::NameFormatter() const + { + return *iNameFormatter; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::SortOrderManager +// -------------------------------------------------------------------------- +// +CPbk2SortOrderManager& + CPbk2ServerApplicationServices::SortOrderManager() const + { + return *iSortOrderManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::SendUiL +// -------------------------------------------------------------------------- +// +CSendUi* CPbk2ServerApplicationServices::SendUiL() + { + // Not supported in Server App + return NULL; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::StoreProperties +// -------------------------------------------------------------------------- +// +CPbk2StorePropertyArray& + CPbk2ServerApplicationServices::StoreProperties() const + { + return *iStoreProperties; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::FieldProperties +// -------------------------------------------------------------------------- +// +CPbk2FieldPropertyArray& + CPbk2ServerApplicationServices::FieldProperties() const + { + return *iFieldProperties; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::StoreConfiguration +// -------------------------------------------------------------------------- +// +CPbk2StoreConfiguration& + CPbk2ServerApplicationServices::StoreConfiguration() const + { + return *iStoreConfiguration; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::StoreObservationRegister +// -------------------------------------------------------------------------- +// +MPbk2StoreObservationRegister& + CPbk2ServerApplicationServices::StoreObservationRegister() const + { + return *iStoreManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::StoreValidityInformer +// -------------------------------------------------------------------------- +// +MPbk2StoreValidityInformer& + CPbk2ServerApplicationServices::StoreValidityInformer() const + { + return *iStoreManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::ViewSupplier +// -------------------------------------------------------------------------- +// +MPbk2ContactViewSupplier& + CPbk2ServerApplicationServices::ViewSupplier() const + { + return *iViewSupplier; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::GlobalMenuFilteringFlagsL +// -------------------------------------------------------------------------- +// +TInt CPbk2ServerApplicationServices::GlobalMenuFilteringFlagsL() const + { + return KPbk2MenuFilteringFlagsNone; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::MPbk2ApplicationServicesExtension +// -------------------------------------------------------------------------- +// +TAny* CPbk2ServerApplicationServices::MPbk2ApplicationServicesExtension( + TUid aExtensionUid ) + { + if ( aExtensionUid == KMPbk2ApplicationServicesExtension2Uid ) + { + return static_cast( this ); + } + return NULL; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::StoreManager +// -------------------------------------------------------------------------- +// +CPbk2StoreManager& CPbk2ServerApplicationServices::StoreManager() const + { + return *iStoreManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ApplicationServices::ServicesManager +// -------------------------------------------------------------------------- +// +CPbk2ServiceManager& CPbk2ServerApplicationServices::ServiceManager() const + { + return *iServiceManager; + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateManagerL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateManagerL() + { + PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices:CreateManagerL(0x%x)" ), this ); + + // Initialize contact manager with empty URI array + CVPbkContactStoreUriArray* uriArray = CVPbkContactStoreUriArray::NewL(); + CleanupStack::PushL( uriArray ); + + TSecurityInfo secInfo; + secInfo.SetToCreatorInfo(); + iContactManager = CVPbkContactManager::NewL( secInfo, *uriArray ); + + CleanupStack::PopAndDestroy(); // uriArray + + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ("CPbk2ServerApplicationServices::CreateManagerL(0x%x) end"), this); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateSortOrderManagerL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateSortOrderManagerL() + { + PBK2_PROFILE_START( Pbk2Profile::EAppServicesCreateSortOrderManager ); + + iSortOrderManager = CPbk2SortOrderManager::NewL + ( iContactManager->FieldTypes() ); + + PBK2_PROFILE_END( Pbk2Profile::EAppServicesCreateSortOrderManager ); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateStorePropertyArrayL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateStorePropertyArrayL() + { + PBK2_PROFILE_START( Pbk2Profile::EAppServicesCreateStorePropertyArray ); + iStoreProperties = CPbk2StorePropertyArray::NewL(); + PBK2_PROFILE_END( Pbk2Profile::EAppServicesCreateStorePropertyArray ); + + PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices::CreateStorePropertyArrayL() done ") ); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateFieldPropertyArrayL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateFieldPropertyArrayL() + { + PBK2_PROFILE_START( Pbk2Profile::EAppServicesCreateFieldPropertyArray ); + iFieldProperties = CPbk2FieldPropertyArray::NewL + ( iContactManager->FieldTypes(), iContactManager->FsSession(), + iServiceManager ); + PBK2_PROFILE_END( Pbk2Profile::EAppServicesCreateFieldPropertyArray ); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateNameFormatterL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateNameFormatterL() + { + PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices::CreateNameFormatterL(0x%x)" ), + this ); + + HBufC* unnamedBuf = StringLoader::LoadLC( R_QTN_PHOB_UNNAMED ); + TPtr unnamed = unnamedBuf->Des(); + MPbk2ContactNameFormatter* nameFormatter = + Pbk2ContactNameFormatterFactory::CreateL + ( unnamed, iContactManager->FieldTypes(), *iSortOrderManager, + &CCoeEnv::Static()->FsSession() ); + CleanupStack::PopAndDestroy( unnamedBuf ); + + delete iNameFormatter; + iNameFormatter = nameFormatter; + + PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING + ( "CPbk2ServerApplicationServices::CreateNameFormatterL(0x%x) end" ), + this ); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateViewSupplierL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateViewSupplierL() + { + iViewSupplier = CPbk2ContactViewSupplier::NewL + ( *iContactManager, *iSortOrderManager, *iStoreConfiguration, + *iStoreProperties, EFalse ); + } + +// -------------------------------------------------------------------------- +// CPbk2ServerApplicationServices::CreateStoreConfigurationL +// -------------------------------------------------------------------------- +// +inline void CPbk2ServerApplicationServices::CreateStoreConfigurationL() + { + iStoreConfiguration = CPbk2StoreConfiguration::NewL(); + } + +// End of File