renamed dlls+exe to prevent conflicts with existing files in emulator; changelog attached.
* renamed dlls/exe:
- aifw.dll to aifw_hs.dll
- cputils to cputils_hs
- aiidleint.dll to aiidleint_hs.dll
- aiutils.dll to aiutils_hs.dll
- MenuInterface.dll to MenuInterface_hs.dll
- XCFW.dll to XCFW_hs.dll
- homescreen.exe to homescreen_hs.exe
- ailaunch.exe to ailaunch_hs.exe
* new UID for Active Idle (aifw_hs.dll, aiidleint_hs.dll and homescreen.exe):
#define AI_UID3_AIFW_COMMON 0xEDFF45C4 (was 0x102750F0 = 271012080)
* new UID for cputils_hs.dll: 0xE3E7134E (was 0x20016B7F = 536963967)
* new UID for AI Utilities Factory (aiutils_hs.dll): 0xEC55106C (was 0x10281865 = 271063141)
* new UID for MenuInterface_hs.dll: 0xEEE24485 (was 0x10210EAB = 270601899)
* new UID for XCFW_hs.dll: 0xEB12332F (was 0x10210EA0 = 270601888)
* new UID for ailaunch_hs.exe: 0xEF5A047A (was 0x200286E3 = 537036515)
/*
* Copyright (c) 2005-2006 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: Content plugin manager class for Active idle framework.
*
*/
#ifndef C_AIPLUGINASYNCFACTORY_H
#define C_AIPLUGINASYNCFACTORY_H
#include "aicontentpublisher.h"
#include "aipropertyextension.h"
#include "aifwdefs.h"
#include <e32base.h>
class MAiContentObserver;
class MAiEventHandlerExtension;
class MAiContentItemIterator;
class CAiContentPublisher;
class CAiUiController;
class CAiPluginActivityRegistry;
class CImplementationInformation;
class CAiContentPluginManager;
class MAiPluginTool;
class MAiPluginLifecycleObserver;
/**
* @ingroup group_aifw
*
* Content plugin factory class for Active idle framework.
*
* @lib aifw_hs
* @since S60 3.2
*/
NONSHARABLE_CLASS( CAiPluginFactory ) : public CBase
{
public:
// Constructor and destructor
static CAiPluginFactory* NewL( RPointerArray<CAiContentPublisher>& aPlugins,
CAiContentPluginManager& aManager );
virtual ~CAiPluginFactory();
// New functions
/**
* Create plugin
*
* @since S60 5.0
* @param aPublisherInfo plugin to load.
* @param aControllerArray array of active UI controllers.
*/
void CreatePluginL( const TAiPublisherInfo& aPublisherInfo,
RPointerArray<CAiUiController>& aControllerArray );
/**
* Destroy plugin
*
* @since S60 5.0
* @param aPublisherInfo plugin to destroy.
* @param aControllerArray array of active UI controllers.
*/
void DestroyPluginL( const TAiPublisherInfo& aPublisherInfo,
RPointerArray<CAiUiController>& aControllerArray );
/**
* Destroys all plugins
*
* @since S60 5.0
*/
void DestroyPlugins();
void AddLifecycleObserverL( MAiPluginLifecycleObserver& aObserver );
/**
* Finds plugin by publisher info.
*
* @since S60 5.0
* @param aInfo publisher info.
* @return Pointer to plugin, NULL if not found.
*/
CAiContentPublisher* PluginByInfoL( const TAiPublisherInfo& aInfo ) const;
/**
* Finds plugin by name.
*
* @since S60 5.0
* @param aInfo publisher info.
* @return Pointer to plugin, NULL if not found.
*/
CAiContentPublisher* PluginByNameL( const TDesC& aName ) const;
private:
// Constructors
CAiPluginFactory( RPointerArray<CAiContentPublisher>& aPlugins,
CAiContentPluginManager& aManager );
void ConstructL();
// New functions
CAiContentPublisher* CreatePluginLC( const TAiPublisherInfo& aPluginInfo );
void SubscribeContentObserversL( CAiContentPublisher& aContentPublisher,
const TAiPublisherInfo& aPublisherInfo,
RPointerArray<CAiUiController>& aControllerArray );
void ConfigurePluginL( RPointerArray<CAiUiController>& aControllerArray,
CAiContentPublisher& aContentPublisher,
const TAiPublisherInfo& aPubInfo );
private: // Data
// Array of loaded data plugins, Not owned
RPointerArray<CAiContentPublisher>& iPlugins;
// Content plugin manager, Not owned
CAiContentPluginManager& iManager;
// Ecom implementation info, Owned
RImplInfoPtrArray iEComPlugins;
// Plugin tool from utility lib, Owned
MAiPluginTool* iPluginTool;
// Life cycle observers, Owned
RPointerArray<MAiPluginLifecycleObserver> iLifecycleObservers;
};
#endif // C_AIPLUGINASYNCFACTORY_H
// End of File.