diff -r c743ef5928ba -r f966699dea19 idlehomescreen/xmluicontroller/inc/xmluicontroller.h --- a/idlehomescreen/xmluicontroller/inc/xmluicontroller.h Tue Feb 02 00:04:13 2010 +0200 +++ b/idlehomescreen/xmluicontroller/inc/xmluicontroller.h Fri Feb 19 22:42:37 2010 +0200 @@ -15,42 +15,42 @@ * */ +#ifndef _XMLUICONTROLLER_H +#define _XMLUICONTROLLER_H -#ifndef C_XMLUICONTROLLER_H -#define C_XMLUICONTROLLER_H +// System includes +// User includes #include #include "aiuicontroller.h" #include "aiuieventhandler.h" - +// Constants const TInt KImplementationUidXmlUiController = AI3_UID_ECOM_IMPLEMENTATION_UICONTROLLER_XML; const TUid KUidXmlUiController = { KImplementationUidXmlUiController }; - +// Forward declarations class CApaApplication; class TXnUiEngineAppIf; class CXnNodeAppIf; class CRepository; +class THsPublisherInfo; namespace AiXmlUiController { - class CAppUi; class CAIXuikonEventHandler; class CXmlNodeIdGenerator; class CContentRenderer; class CContentPublisher; - /** * @ingroup group_xmluicontroller * * Active Idle XML UI Controller. */ -class CXmlUiController : public CAiUiController, - public MAiMainUiController, - public MAiUiEventHandler +NONSHARABLE_CLASS( CXmlUiController ) : public CAiUiController, + public MAiMainUiController, public MAiUiEventHandler { public: // Constructors and destructor @@ -104,20 +104,20 @@ void NotifyAppEnvReadyL(); /** - * Gets UiFw observer - * - * @since S60 5.0 - * @return UiFw observer - */ - MAiUiFrameworkObserver* UiFrameworkObserver() const; - - /** * Gets UiFw event handler * * @since S60 5.0 * @return UiFw event handler */ MAiFwEventHandler* FwEventHandler() const; + + /** + * Gets UiFw state handler + * + * @since S60 5.2 + * @return UiFw state handler + */ + MAiFwStateHandler* FwStateHandler() const; /** * Gets UiEngine. @@ -136,135 +136,149 @@ CRepository& SettingsRepository() const; /** - * Gets native ui publishers - * - * @since S60 5.0 - * @param aPlugins Array where plugins are appended. - */ - void PublisherInfoL( RAiPublisherInfoArray& aPlugins ); - - /** * Gets xml ui publishers * - * @since S60 5.0 + * @since S60 5.2 * @param aSource Xml node which defineds the publisher - * @param aInfo Publisher info filled based aSource information + * @param aPublisherInfo Publisher info filled based aSource information */ void PublisherInfoL( CXnNodeAppIf& aSource, - TAiPublisherInfo& aInfo ); + THsPublisherInfo& aPublisherInfo ); public: // from CAiUiController + /** + * @see CAiUiController + */ void LoadUIDefinitionL(); - - void GetPluginsL( RAiPublisherInfoArray& aPlugins ); - - void GetSettingsL( const TAiPublisherInfo& aPubInfo, + + /** + * @see CAiUiController + */ + void GetSettingsL( const THsPublisherInfo& aPublisherInfo, RAiSettingsItemArray& aSettings ); + /** + * @see CAiUiController + */ void ActivateUI(); + /** + * @see CAiUiController + */ MAiContentObserver& GetContentObserver(); + /** + * @see CAiUiController + */ void SetEventHandler( MAiFwEventHandler& aFwEventHandler ); - void RemovePluginFromUI( MAiPropertyExtension& aPlugin ); - + /** + * @see CAiUiController + */ + void SetStateHandler( MAiFwStateHandler& aFwStateHandler ); + + /** + * @see CAiUiController + */ MAiMainUiController* MainInterface(); + /** + * @see CAiUiController + */ MAiSecondaryUiController* SecondaryInterface(); private: // from MAiMainUiController + /** + * @see MAiMainUiController + */ void RunApplicationL(); + /** + * @see MAiMainUiController + */ CCoeEnv& CoeEnv(); - - void SetUiFrameworkObserver( MAiUiFrameworkObserver& aObserver ); - + + /** + * @see MAiMainUiController + */ void Exit(); - + + /** + * @see MAiMainUiController + */ TBool IsMenuOpen(); private: // from MAiUiEventHandler + /** + * @see MAiUiEventHandler + */ TBool HandleUiEvent(TAny* aEvent, const TDesC8& aParam); private: // Constructors + /** + * C++ default constructor + */ CXmlUiController(); + /** + * 2nd phase constructor + */ void ConstructL(); private: - // New methods + // New functions + static CApaApplication* NewApplication(); - void HandleFocusGainedL( const TDesC8& aUiElement1, const TDesC8& aUiElement2, CXnNodeAppIf& aOrigin ); + void HandleFocusGainedL( const TDesC8& aUiElement1, + const TDesC8& aUiElement2, CXnNodeAppIf& aOrigin ); - void HandleSetElementSizeL( const TDesC8& aElementName, CXnNodeAppIf& aOrigin ); + void HandleSetElementSizeL( const TDesC8& aElementName, + CXnNodeAppIf& aOrigin ); - static TInt ExitTimerCallBack(TAny *aSelf); - - void GetSettingsFromCRL( const TAiPublisherInfo& aPubInfo, RAiSettingsItemArray &aPluginSettings ); + static TInt ExitTimerCallBack( TAny *aSelf ); + + void GetContentItemL( CXnNodeAppIf& aNode, + RAiSettingsItemArray& aSettings, HBufC*& aItemName ); - void GetContentItemL( CXnNodeAppIf& aNode, RAiSettingsItemArray& aSettings, HBufC*& aItemName ); + void GetConfigurationsL( CXnNodeAppIf& aNode, + RAiSettingsItemArray& aSettings, const TDesC& aConfOwner ); - void GetConfigurationsL( CXnNodeAppIf& aNode, RAiSettingsItemArray& aSettings, const TDesC& aConfOwner ); - - void GetContentModelL(const TAiPublisherInfo& aPubInfo, RAiSettingsItemArray& aSettings); + void GetContentModelL( const THsPublisherInfo& aPubInfo, + RAiSettingsItemArray& aSettings ); -private: // data +private: + // data - /** - * Ai content observer. Not own. - */ - MAiContentObserver* iObserver; - - /** - * Ui framework observer. Not own. - */ - MAiUiFrameworkObserver* iUiFrameworkObserver; - - /** - * Event handler. Not own. - */ + /** Ai content observer, Not owned */ + MAiContentObserver* iObserver; + /** AiFw Event handler, Not owned */ MAiFwEventHandler* iFwEventHandler; - - /** - * Node id generator. Own. - */ - CXmlNodeIdGenerator* iNodeIdGenerator; - - /** - * App UI. Not own. - */ - CAppUi* iAppUi; - - /** - * Timer to call AppUi's exit. Own. - **/ + /** AiFw State handler, Not owned */ + MAiFwStateHandler* iFwStateHandler; + /** * Node id generator, Owned */ + CXmlNodeIdGenerator* iNodeIdGenerator; + /** AppUi, Not owned */ + CAppUi* iAppUi; + /** Timer to call AppUi's exit, Owned */ CPeriodic *iExitTimer; - - /** - * Cenrep. Own. - */ + /** Cenrep, Owned */ CRepository *iAISettingsRepository; - - /** - * CPS publisher. Own. - */ - CContentPublisher* iCPSpublisher; - - /** - * Flag to indicate whether running as main UI controller - */ + /** CPS publisher, Owned */ + CContentPublisher* iCPSpublisher; + /** Flag to indicate whether running as main UI controller */ TBool iRunningAsMain; }; } // namespace AiXmlUiController -#endif // C_XMLUICONTROLLER_H +#endif // _XMLUICONTROLLER_H + +// End of file