diff -r 1a2a00e78665 -r 7feec50967db idlefw/inc/framework/aipluginstatemanager.h --- a/idlefw/inc/framework/aipluginstatemanager.h Tue Feb 02 00:23:10 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,242 +0,0 @@ -/* -* 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: Plugin state manager -* -*/ - - -#ifndef C_AIPLUGINSTATEMANAGER_H -#define C_AIPLUGINSTATEMANAGER_H - -#include -#include "aistatemanager.h" -#include "aipluginstatemachine.h" -#include "aipluginlifecycleobserver.h" - -#include "aistatealive.h" -#include "aistatesuspended.h" -#include "aistateidle.h" -#include "aifwdefs.h" - -class MAiPSPropertyObserver; -class MAiDeviceStatusObserver; -class CAiPluginStateManager; -class CAiContentPluginManager; -class CAiPluginStateMachine; -class CAiUiFrameworkObserverImpl; -class MAiUiFrameworkObserver; - -/** - * Plugin state manager implementation. - * - * @lib aifw - * @since S60 3.2 - */ -NONSHARABLE_CLASS( CAiPluginStateManager ) : public CBase, - public MAiStateManager, - public MAiPluginStateResources, - public MAiPluginLifecycleObserver - { - -public: // Constructor and destructor - - static CAiPluginStateManager* NewL(); - - virtual ~CAiPluginStateManager(); - -public: // From MAiStateManager - - void ReportStateChange( TAiStateChanges aState ); - -public: // From MAiPluginStateMachine - - TBool StateVariable( TAiStateVariable aStateVariable ); - - TAiTransitionReason TranslateReason( TAiStateChanges aStateChange ); - - void RestartSuspendTimer(); - -public: // From MAiPluginLifecycleObserver - - void PluginCreatedL( CAiContentPublisher& aPlugin ); - - void PluginDestroyed( CAiContentPublisher& aPlugin ); - - void AllPluginsCreated(); - - void AllPluginsDestroyed(); - -public: // new methods - - /** - * Create system status observers (lights/backup/restore etc.). - */ - void CreateSystemStateObserversL(); - - /** - * Destroy system status observers. - */ - void DestroySystemStateObservers(); - - /** - * Provide accessor for fw observer. - * @return MAiUiFrameworkObserver pointer to fw observer. - */ - MAiUiFrameworkObserver* UiFwObserver() const; - - /** - * Process online state change for a plugin - * @param aPlugin plugin - */ - void ProcessOnlineState( CAiContentPublisher& aPlugin ); - - /** - * Process offline state change for a plugin - * @param aPlugin plugin - */ - void ProcessOfflineState( CAiContentPublisher& aPlugin ); - -private: // Constructors - - CAiPluginStateManager(); - - void ConstructL(); - -private: // New functions - - /** - * Handles Statemachine event event and error array update. - * @param aState new state. - * @param aMachine reference to single state machine. - */ - void ProcessStateChange( TAiStateChanges aState, - CAiPluginStateMachine& aMachine ); - - /** - * Handles Statemachine event event and error array update - * for all state machines. - * @param aState new state. - */ - void ProcessStateChangeForAll( TAiStateChanges aState ); - - /** - * Helper to check idle focus status. - * @return ETrue if idle is focused / foreground app. - */ - TBool IdleFocused() const; - - /** - * Helper to check backup (or restore) status. - * @return ETrue if backup (or restore) is ongoing. - */ - TBool BackupOngoing() const; - - /** - * Helper to check phone lights status. - * @return ETrue if lights are on. - */ - TBool LightsOn() const; - - /** - * Helper to check phone call status. - * @return ETrue if call is ongoing. - */ - TBool CallOngoing() const; - - /** - * Standard callback for CPeriodic ie. T1 timer. - */ - static TInt T1TimerCallback( TAny* aPtr ); - -private: // Data - - /** - * Backup operation state observer. - * Own. - */ - MAiDeviceStatusObserver* iBackupOperationObserver; - - /** - * Call state observer. - * Own. - */ - MAiDeviceStatusObserver* iCallStateObserver; - - /** - * Light state observer. - * Own. - */ - MAiDeviceStatusObserver* iLightStateObserver; - - /** - * Enviroment change observer. - * Own. - */ - MAiDeviceStatusObserver* iEnvironmentObserver; - - /** - * Focus change observer. Using telephony idle visiblity PS. - * Own. - */ - MAiDeviceStatusObserver* iFocusObserver; - - /** - * Keylock observer. - * Own. - */ - MAiDeviceStatusObserver* iKeylockObserver; - - /** - * Enviroment change observer. Full class type is used because - * we need to provide accessor for implemented type MAiUiFrameworkObserver. - * Own. - */ - CAiUiFrameworkObserverImpl* iFrameworkObserver; - - /** - * Timer for suspend, screensaver timout + light fadeout. - * Own. - */ - CPeriodic* iT1Timer; - - /** - * Timer for suspend, screensaver timout + light fadeout. - */ - TInt iT1Delay; - - /** - * New state to be timed. - */ - TAiState iTimedState; - - /** - * Reason for timers activity. - */ - TAiTransitionReason iTimedReason; - - /** - * Indicates whether the device has been properly started. - */ - TBool iIsDeviceStarted; - - /** - * State machines for plugins. - * Own. - */ - RPointerArray iStateMachines; - }; - -#endif // C_AIPLUGINSTATEMANAGER_H - -// End of File.