diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpframework/upnpextensionpluginif/src/upnppluginloader.cpp --- a/upnpframework/upnpextensionpluginif/src/upnppluginloader.cpp Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,197 +0,0 @@ -/* -* Copyright (c) 2006-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: Implements CUPnPPluginLoader class -* -*/ - - -#include -#include - -// upnpframework / home media extension api -#include - -// component internal -#include "upnppluginloaderobserver.h" -#include "upnppluginloader.h" - -// log facility -_LIT( KComponentLogfile, "upnpextensionpluginif.txt"); -#include "upnplog.h" - -#ifdef __UPNP_CONSOLE_MT__ -static const TUid KTestPluginId = { 0x20009C9D }; -#endif // __UPNP_CONSOLE_MT__ - -//--------------------------------------------------------------------------- -// CUPnPPluginLoader::NewL -// Construction method. -//--------------------------------------------------------------------------- -EXPORT_C CUPnPPluginLoader* CUPnPPluginLoader::NewL( - MUPnPPluginLoaderObserver& aLoaderObserver) - { - __LOG("CUPnPPluginLoader::NewL"); - - CUPnPPluginLoader* self = - new( ELeave ) CUPnPPluginLoader(aLoaderObserver); - return self; - } - -//--------------------------------------------------------------------------- -// CUPnPPluginLoader::CUPnPPluginLoader -// Default constructor. Sets the iLoaderObserver -//--------------------------------------------------------------------------- -CUPnPPluginLoader::CUPnPPluginLoader(MUPnPPluginLoaderObserver& - aLoaderObserver) - { - __LOG( "CUPnPPluginLoader::CUPnPPluginLoader" ); - - iLoaderObserver = &aLoaderObserver; - } - -//--------------------------------------------------------------------------- -// CUPnPPluginLoader::~CUPnPPluginLoader -// Destroys all the plugins -//--------------------------------------------------------------------------- -EXPORT_C CUPnPPluginLoader::~CUPnPPluginLoader() - { - __LOG( "CUPnPPluginLoader::~CUPnPPluginLoader" ); - - for (TInt i=0;i& - CUPnPPluginLoader::CreatePluginsL() - { - __LOG( "CUPnPPluginLoader::CreatePluginsL" ); - - CImplementationInformation* implInfo = NULL; - RImplInfoPtrArray implArray; - - REComSession::ListImplementationsL(interfaceUid,implArray); - for(TInt i=0;iVendorId() == VID_DEFAULT -#ifdef __UPNP_CONSOLE_MT__ - // In case of module testing load only our test plugin - && implInfo-> ImplementationUid().iUid == KTestPluginId.iUid -#endif // __UPNP_CONSOLE_MT__ - ) - { - CUPnPPluginInterface* interface = NULL; - interface = CUPnPPluginInterface::NewL - ( implInfo->ImplementationUid(), *this ); - - CleanupStack::PushL( interface ); - // interface ownership is transfered and - // iPluginArray will handle the destroying of interface. - iPluginArray.AppendL( interface ); - CleanupStack::Pop( interface ); - } - else - { - __LOG( "CUPnPPluginLoader::CreatePluginsL - \ -Invalid plugin vendor id" ); - } - } - implArray.ResetAndDestroy(); - implArray.Close(); - return iPluginArray; - } - -//--------------------------------------------------------------------------- -// CUPnPPluginLoader::DeletePlugin -// Deletes plugin from iPluginArray -//--------------------------------------------------------------------------- -EXPORT_C void CUPnPPluginLoader::DeletePlugin( TInt aPluginIndex ) - { - __LOG( "CUPnPPluginLoader::DeletePlugin" ); - __ASSERTD( aPluginIndex >= 0, __FILE__, __LINE__ ); - __ASSERTD( aPluginIndex < iPluginArray.Count(), __FILE__, __LINE__ ); - - if ( aPluginIndex < iPluginArray.Count() ) - { - delete iPluginArray[aPluginIndex]; - iPluginArray.Remove(aPluginIndex); - } - } - -//--------------------------------------------------------------------------- -// CUPnPPluginLoader::ExtensionEvent -// From base class MUPnPPluginObserver -// Handles the events which come from plugins -//--------------------------------------------------------------------------- -void CUPnPPluginLoader::ExtensionEvent(const TExtensionEvent& aEvent) - { - __LOG( "CUPnPPluginLoader::ExtensionEvent" ); - - switch ( aEvent ) - { - case EExtensionEnabled: - { - // the extension is enabled by default - no need to call - // explicitly - // NOT IMPLEMENTED - break; - } - case EExtensionDisabled: - { - // when called, disables the item in the list, cannot execute - // NOT IMPLEMENTED - break; - } - case EExtensionIconChanged: - { - // will call GetI1con again, and redraw - iLoaderObserver->PluginsUpdated(); - break; - } - case EExtensionTitleChanged: - { - // will call GetTitle again, and redraw - iLoaderObserver->PluginsUpdated(); - break; - } - case EExtensionSecondaryTextChanged: - { - // will call GetSubTitle again, and redraw - iLoaderObserver->PluginsUpdated(); - break; - } - case EExtensionClosed: - { - // extension which was ExecuteL'd, has been closed. - // NOT IMPLEMENTED - break; - } - default: - { - break; - } - } - } - -// end of file