diff -r 5f0182e07bfb -r 5456b4e8b3a8 menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h Wed Sep 01 12:32:46 2010 +0100 @@ -0,0 +1,90 @@ +/* +* Copyright (c) 2007-2008 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: +* +*/ + + +#ifndef HNCONTROLLERINTERFACE_H +#define HNCONTROLLERINTERFACE_H + +#include "hnsuiteobserver.h" + +class CLiwGenericParamList; + +/** + * @ingroup group_hnengine + * User interface refresh type + */ +enum THnUiRefreshType + { + ERefreshSuite, + ERefreshToolbar, + EStartEditMode, + EStopEditMode, + EForegroundGain, + EBackgroundGain, + ELightOn, + ELightOff, + ERemoveLiwObjects + }; + + +/** + * @ingroup group_hnengine + * UI refresh observer. The implementing class can be notified about the ui being refreshed. + * + * @lib hnengine + * @since S60 v3.2 + */ +class MHnControllerInterface : public MHnSuiteObserver + { +public: + + /** + * Called when the ui needs to be refreshed, + * for a reason indicated in aRefreshType. + * + * @since S60 v3.2 + * @param aRefreshType Defines reason for refresh. + */ + virtual void NotifyUiRefreshL( const THnUiRefreshType aRefreshType ) = 0; + + /** + * Trigger appropriate action on suite model. + * + * @param aCustomSuiteEvent Event that is associated + * with the lifecycle of a suite + * @param aModel Suite model on that custom event should be performed. + */ + virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent, + CHnSuiteModel *aModel ) = 0; + + /** + * Whenever an action for extension manager occurs it invokes + * this method to execute one, passing the information needed + * by extension manager about the action as a parameters. + * + * @param aUid UID of the ECom plugin's. + * @param aCommand Command which has to be executed on the plugin. + * Request to the Service. + * @param aEventParamList List of the event parameters needed to + * execute action. Extention Manager is its owner. + * @return Number representing error code. + */ + virtual TInt ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand, + CLiwGenericParamList* aEventParamList ) = 0; + }; + +#endif //HNCONTROLLERINTERFACE_H