diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/Application/src/CPbk2UIApplicationServices.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/Application/src/CPbk2UIApplicationServices.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,281 @@ +/* +* 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 "CPbk2UIApplicationServices.h" +#include "tpbk2multidriveavailable.h" + +// Phonebook 2 +#include +#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 +#include + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::CPbk2UIApplicationServices +// -------------------------------------------------------------------------- +// +CPbk2UIApplicationServices::CPbk2UIApplicationServices() : +iFsSession( CCoeEnv::Static()->FsSession() ) + { + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::~CPbk2UIApplicationServices +// -------------------------------------------------------------------------- +// +CPbk2UIApplicationServices::~CPbk2UIApplicationServices() + { + // Command handler is calling iStoreConfiguration's RemoveObserver + // in its destructor. So delete command handler before store + // configuration. + delete iCommandHandler; + delete iSendUi; + + Release( iAppServices ); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::ConstructL +// -------------------------------------------------------------------------- +// +inline void CPbk2UIApplicationServices::ConstructL() + { + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ( "CPbk2UIApplicationServices::ConstructL(0x%x)"), this ); + + iAppServices = CPbk2ApplicationServices::InstanceL(); + + // Set core Phonebook 2 stores + //iAppServices->StoreManager().EnsureDefaultSavingStoreIncludedL(); + //iAppServices->StoreManager().EnsureCurrentConfigurationStoresIncludedL(); + + PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING + ("CPbk2UIApplicationServices::ConstructL(0x%x) end"), this); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::NewL +// -------------------------------------------------------------------------- +// +CPbk2UIApplicationServices* CPbk2UIApplicationServices::NewL() + { + CPbk2UIApplicationServices* self = + new ( ELeave ) CPbk2UIApplicationServices(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::ContactManager +// -------------------------------------------------------------------------- +// +CVPbkContactManager& CPbk2UIApplicationServices::ContactManager() const + { + return iAppServices->ContactManager(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::CommandHandlerL +// -------------------------------------------------------------------------- +// +MPbk2CommandHandler* CPbk2UIApplicationServices::CommandHandlerL() + { + if ( !iCommandHandler ) + { + iCommandHandler = CPbk2CommandHandler::NewL(); + } + + return iCommandHandler; + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::NameFormatter +// -------------------------------------------------------------------------- +// +MPbk2ContactNameFormatter& CPbk2UIApplicationServices::NameFormatter() const + { + return iAppServices->NameFormatter(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::SortOrderManager +// -------------------------------------------------------------------------- +// +CPbk2SortOrderManager& CPbk2UIApplicationServices::SortOrderManager() const + { + return iAppServices->SortOrderManager(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::SendUiL +// -------------------------------------------------------------------------- +// +CSendUi* CPbk2UIApplicationServices::SendUiL() + { + if ( !iSendUi ) + { + iSendUi = CSendUi::NewL(); + PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING + ( "CPbk2UIApplicationServices::SendUiL(0x%x) SendUI created"), + this ); + } + return iSendUi; + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::StoreProperties +// -------------------------------------------------------------------------- +// +CPbk2StorePropertyArray& CPbk2UIApplicationServices::StoreProperties() const + { + return iAppServices->StoreProperties(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::FieldProperties +// -------------------------------------------------------------------------- +// +CPbk2FieldPropertyArray& CPbk2UIApplicationServices::FieldProperties() const + { + return iAppServices->FieldProperties(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::StoreConfiguration +// -------------------------------------------------------------------------- +// +CPbk2StoreConfiguration& CPbk2UIApplicationServices::StoreConfiguration() const + { + return iAppServices->StoreConfiguration(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::StoreObservationRegister +// -------------------------------------------------------------------------- +// +MPbk2StoreObservationRegister& + CPbk2UIApplicationServices::StoreObservationRegister() const + { + return iAppServices->StoreManager(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::StoreValidityInformer +// -------------------------------------------------------------------------- +// +MPbk2StoreValidityInformer& + CPbk2UIApplicationServices::StoreValidityInformer() const + { + return iAppServices->StoreManager(); + } + + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::ViewSupplier +// -------------------------------------------------------------------------- +// +MPbk2ContactViewSupplier& CPbk2UIApplicationServices::ViewSupplier() const + { + return iAppServices->ViewSupplier(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::GlobalMenuFilteringFlagsL +// -------------------------------------------------------------------------- +// +TInt CPbk2UIApplicationServices::GlobalMenuFilteringFlagsL() const + { + TInt result = KPbk2MenuFilteringFlagsNone; + + if ( TPbk2MultiDriveAvailable::MultiDriveAvailable( iFsSession ) ) + { + result |= KPbk2MultiDriveAvailable; + } + + return result; + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::LocallyVariatedFeatureEnabled +// -------------------------------------------------------------------------- +// +TBool CPbk2UIApplicationServices::LocallyVariatedFeatureEnabled( + TVPbkLocalVariantFlags aFeatureFlag) + { + return iAppServices->LocallyVariatedFeatureEnabled(aFeatureFlag); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::MPbk2ApplicationServicesExtension +// -------------------------------------------------------------------------- +// +TAny* CPbk2UIApplicationServices::MPbk2ApplicationServicesExtension( + TUid aExtensionUid ) + { + if ( aExtensionUid == KMPbk2ApplicationServicesExtension2Uid ) + { + return static_cast( this ); + } + return NULL; + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::StoreManager +// -------------------------------------------------------------------------- +// +CPbk2StoreManager& CPbk2UIApplicationServices::StoreManager() const + { + return iAppServices->StoreManager(); + } + +// -------------------------------------------------------------------------- +// CPbk2UIApplicationServices::ServicesManager +// -------------------------------------------------------------------------- +// +CPbk2ServiceManager& CPbk2UIApplicationServices::ServiceManager() const + { + return iAppServices->ServiceManager(); + } + +// End of File