diff -r 13d7c31c74e0 -r b183ec05bd8c remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpool.h --- a/remotemgmt_plat/diagnostics_plugin_pool_api/inc/diagpluginpool.h Thu Aug 19 10:44:50 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +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: Manages Diagnostics Plug-in -* -*/ - - -#ifndef DIAGPLUGINPOOL_H -#define DIAGPLUGINPOOL_H - -// INCLUDES -#include // CBase - -// FORWARD DECLARATIONS -class MDiagPlugin; -class MDiagPluginPoolObserver; -class CDiagPluginPoolImpl; - - -/** -* Diagnostics Framework Plugin Pool Class -* -* This class is used to load Diagnostics ECom plug-ins. It works with both -* Suite Plug-in and Test Plug-in. Once loaded, it will manage the life -* cycle of the plug-ins. -* -* All loaded plug-ins will be destroyed when pool is deleted. -* -* @since S60 v5.0 -*/ -NONSHARABLE_CLASS( CDiagPluginPool ) : public CBase - { -public: - - /** - * Two-phased constructors - * - * @param aObserver Plug-in Pool observer. - * @return New instance of CDiagPluginPool - */ - IMPORT_C static CDiagPluginPool* NewL( MDiagPluginPoolObserver& aObserver ); - IMPORT_C static CDiagPluginPool* NewLC( MDiagPluginPoolObserver& aObserver ); - - /** - * Destructor - * - */ - IMPORT_C virtual ~CDiagPluginPool(); - -public: // new API - - /** - * Loads all plug-ins. Progress is notified via MDiagPluginPoolObserver. - * - * @param aUid - Interface Uid to load. - */ - IMPORT_C void LoadAsyncL( TUid aUid ); - - /** - * Create an instance of a plug-in. It can be a test plug-in or suite plug-in. - * If this is a suite, it will not have its children associated with it since - * will require children to be loaded as well. - * - * Plug-ins created using this method is not part of plug-in pool. Therefore - * client must manage the life cycle of the plug-in. - * - * @param aUid - Implementation Uid of plug-in. - * @return Newly instantiated plug-in. Ownership is transferred to caller. - */ - IMPORT_C static MDiagPlugin* CreatePluginL( TUid aUid ); - - /** - * Cancel Plug-in Loading - * This method cancels plug-in loading. If it was not currently loading - * plug-ins, it will leave with KErrNotReady - */ - IMPORT_C void CancelLoadPluginsL(); - - /** - * Find Plug-in that matches given Uid. - * - * @param aUid Uid of plug-in to search. - * @param aPlugin Reference to Plugin found. Engine owns this plug-in. - * Client must not deallocate plug-in. - * @return TInt KErrNone - Success. - * KErrNotFound - Not found. - * KErrNotReady - Plug-ins are not yet loaded. - */ - IMPORT_C TInt FindPlugin( TUid aUid, MDiagPlugin*& aPlugin ) const; - - /** - * Find Plug-in that matches given Uid. This function will leave on error. - * Leave codes: KErrNone - Success. - * KErrNotFound - Not found. - * KErrNotReady - Plug-ins are not yet loaded. - * - * @param aUid Uid of plug-in to search. - * @return Refernce to the plug-in found. - */ - IMPORT_C MDiagPlugin& FindPluginL( TUid aUid ) const; - - /** - * Find Plug-in that matches given service name. - * - * @param aServiceName Service name of the plug-in. Name must match exactly. - * @param aPlugin Reference to Plugin found. Engine owns this plug-in. - * Client must not deallocate plug-in. - * @return TInt KErrNone - Success. - * KErrNotFound - Not found. - * KErrNotReady - Plug-ins are not yet loaded. - */ - IMPORT_C TInt FindPlugin( const TDesC& aServiceName, - MDiagPlugin*& aPlugin ) const; - - /** - * Find Plug-in that matches given service name. Will leave on error. - * Leave codes: KErrNone - Success. - * KErrNotFound - Not found. - * KErrNotReady - Plug-ins are not yet loaded. - * - * @param aServiceName Service name of the plug-in. Name must match exactly. - * @return Reference to Plugin found. - */ - IMPORT_C MDiagPlugin& FindPluginL( const TDesC& aServiceName ) const; - -private: // private constructors - - /** - * C++ Constructor - * - */ - CDiagPluginPool(); - - /** - * 2nd phase constructor - * - */ - void ConstructL( MDiagPluginPoolObserver& aObserver ); - -private: // MEMBER DATA - - /** - * iPluginPoolImpl - Acutal implementation of CDiagPluginPool - * Owns - */ - CDiagPluginPoolImpl* iPluginPoolImpl; - }; - - -#endif // DIAGPLUGINPOOL_H - -// End of File -