diff -r 1a2a00e78665 -r f62f87b200ec contentstorage/casrv/casrvmgr/inc/casrvmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/casrv/casrvmgr/inc/casrvmanager.h Fri Mar 19 09:35:23 2010 +0200 @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2009 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: casrvmanager.h + * + */ + +#ifndef CA_SRV_MANAGER_H +#define CA_SRV_MANAGER_H + +// INCLUDES +#include +#include +#include +#include "casrvplugin.h" + +class CCaSrvEngUtils; + +/** + * + * @since S60 5.0 + * @ingroup group_mmextensions + */ +NONSHARABLE_CLASS( CCaSrvManager ): public CBase + { +public: + // Constructors and destructor + + /** + * Standard C++ Destructor. + */ + ~CCaSrvManager(); + + /** + * Two-phased constructor. + * @return Instance of the CCaSrvManager class. + * @param aCaStorageProxy storage. + * @param aUtils storage utils. + */ + IMPORT_C static CCaSrvManager* NewL( CCaStorageProxy& aCaStorageProxy, + CCaSrvEngUtils* aUtils = NULL ); + + /** + * Two-phased constructor. + * @return Instance of the CCaSrvManager class. + * @param aCaStorageProxy storage. + * @param aUtils storage utils. + */ + static CCaSrvManager* NewLC( CCaStorageProxy& aCaStorageProxy, + CCaSrvEngUtils* aUtils = NULL ); + +private: + + /** + * Constructor for performing 1st stage construction. + * @param aCaStorageProxy Interface enabling to issues request to App UI. + */ + CCaSrvManager(); + + /** + * EPOC default constructor for performing 2nd stage construction. + * @param aCaStorageProxy storage. + * @param aUtils storage utils. + */ + void ConstructL( CCaStorageProxy& aCaStorageProxy, + CCaSrvEngUtils* aUtils = NULL ); + + /** + * Loads MultimediaMenu plugins implementations. + */ + void LoadPluginsL(); + +private: + + /** + * Pointer to plugin map. + * Own. + */ + RHashMap iPluginMap; + + /** + * Not Own. + * Reference to the Storage Proxy, Storage Utils. + */ + TPluginParams* iPluginParams; + }; + +#endif // C_MM_EXTENSION_MANAGER_H +// End of file