--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/coreapplicationuis/SysAp/Inc/SysApPubSubObserver.h Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,245 @@
+/*
+* Copyright (c) 2005-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: CSysApPubSubObserver handles SysAp PubSub API
+* : related functionality except for BT.
+*
+*/
+
+
+#ifndef SYSAPPUBSUBOBSERVER_H
+#define SYSAPPUBSUBOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+#include "MSysApPropertyResponder.h"
+
+// FORWARD DECLARATIONS
+
+class CSysApAppUi;
+class CSysApSubscriber;
+class CSysApRemConObserver;
+
+// CLASS DECLARATION
+/**
+* CSysApPubSubObserver
+*
+* @lib sysap
+* @since 2.X
+*/
+
+class CSysApPubSubObserver :
+ public CBase,
+ public MSysApPropertyResponder
+{
+public:
+
+ /**
+ * Two-phased constructor.
+ */
+ static CSysApPubSubObserver* NewL( CSysApAppUi& aSysApAppUi );
+
+ /**
+ * Destructor.
+ */
+ ~CSysApPubSubObserver();
+
+private:
+
+ /**
+ * Handle keys under category KUidSystemCategory
+ */
+ void HandleSystemCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidStartup
+ */
+ void HandleStartupCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidCoreApplicationUIs
+ */
+ void HandleCoreAppUIsCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidHWRMPowerState
+ */
+ void HandleHwrmPowerStateCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidWlan
+ */
+ void HandleWlanCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidNetworkInfo
+ */
+ void HandleNetworkInfoCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidCtsyCallInformation.
+ */
+ void HandleTelephonyCallInformationCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidHWRM
+ */
+ void HandleHwrmCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidHWRMFmTx
+ */
+ void HandleHwrmFmTxCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPSUidDataSynchronizationInternalKeys
+ *
+ * @since S60 3.2
+ * @param aKey key identifier whose change triggered notification
+ * @param aValue key value
+ * @return None.
+ */
+ void HandleDataSyncCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KPosIndicatorCategory
+ *
+ * @since S60 3.2
+ * @param aKey key identifier whose change triggered notification
+ * @param aValue key value
+ */
+ void HandlePosIndicatorCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Handle keys under category KUidPSSMSStackCategory
+ *
+ * @since S60 3.2
+ * @param aKey key identifier whose change triggered notification
+ * @param aValue key value
+ */
+ void HandleSmsStackCategoryL( const TUint aKey, const TInt aValue );
+
+ /**
+ * Constructors.
+ */
+ CSysApPubSubObserver( CSysApAppUi& aSysApAppUi );
+ void ConstructL();
+
+protected: // From MSysApPropertyResponder
+
+ void HandlePropertyChangedL( const TUid& aCategory, const TUint aKey );
+
+private:
+
+ CSysApAppUi& iSysApAppUi;
+
+ // Category KUidSystemCategory
+ CSysApSubscriber* iBatteryBarsSubscriber; // KPSUidBatteryBars
+ CSysApSubscriber* iBatteryLowIndicationSubscriber; // KPSUidBatteryLowIndication
+ CSysApSubscriber* iBatteryCStatusSubscriber; // KPSUidBatteryCStatus
+ CSysApSubscriber* iChargerCStatusSubscriber; // KPSUidChargerCStatus
+ CSysApSubscriber* iInboxStatusSubscriber; // KUidInboxStatusValue
+ CSysApSubscriber* iOutboxStatusSubscriber; // KUidOutboxStatus
+ CSysApSubscriber* iIrdaStatusSubscriber; // KPSUidIrdaStatus
+ CSysApSubscriber* iGprsStatusSubscriber; // KPSUidGprsStatus
+ CSysApSubscriber* iWcdmaStatusSubscriber; // KPSUidWcdmaStatus
+ CSysApSubscriber* iLocationGlobalPrivacySubscriber; // KPSUidLocationGlobalPrivacy
+ CSysApSubscriber* iRestoreBackupSubscriber; // KUidBackupRestoreKey
+
+ // Category KPSUidStartup
+ CSysApSubscriber* iSimChangedSubscriber; // KPSSimChanged
+
+ // Category KHWRMFmTxStatus
+ CSysApSubscriber* iFmTxStatusSubscriber; // KPSUidHWRMFmTx
+
+ TInt iPreviousFmTxPSValue;
+
+ CSysApRemConObserver* iFmTxRemConObserver;
+
+ // Category KPSUidCoreApplicationUIs
+
+ // Light Control API
+ CSysApSubscriber* iAlarmLightSubscriber; // KLightsAlarmLightActive (KSysApAlarmLightActive)
+ CSysApSubscriber* iVTLightsSubscriber; // KLightsVTForcedLightsOn (KSysApForcedLightsOn)
+ CSysApSubscriber* iSSLightsSubscriber; // KLightsSSForcedLightsOn (KSysApForcedSSLightsOn)
+ CSysApSubscriber* iATCLightsSubscriber; // KLightsATCForcedLightsOn
+ CSysApSubscriber* iLightsControlSubscriber; // KLightsControl (KSysApLightsControl)
+
+ // System Application Notification API
+ CSysApSubscriber* iDisableKeyguardSubscriber; // KCoreAppUIsDisableKeyguard (KSysApKeyGuardInactive)
+ CSysApSubscriber* iSoftRejectSubscriber; // KCoreAppUIsSoftReject (KSysApSoftReject)
+ CSysApSubscriber* iUipIndSubscriber; // KCoreAppUIsUipInd (KSysApUipInd)
+ CSysApSubscriber* iMessageToneQuitSubscriber; // KCoreAppUIsMessageToneQuit (KSysApMessageToneQuit)
+ CSysApSubscriber* iNspsRawKeyEventSubscriber; // KCoreAppUIsNspsRawKeyEvent (KSysApNspsRawKeyEvent)
+ CSysApSubscriber* iLightsRawKeyEventSubscriber; // KCoreAppUIsLightsRawKeyEvent (KSysApLightsControl)
+ CSysApSubscriber* iMmcRemovedWithoutEjectSubscriber; // KCoreAppUIsMmcRemovedWithoutEject (KSysApMmcRemovedWithoutEject)
+ CSysApSubscriber* iNewEmailStatusSubscriber; // KCoreAppUIsNewEmailStatus
+ CSysApSubscriber* iPoCIndicatorSubscriber; // KCoreAppUIsPoCIndicator
+ CSysApSubscriber* iPoCMissedIndicatorSubscriber; // KCoreAppUIsPoCMissedIndicator
+ CSysApSubscriber* iTarmStatusSubscriber; // KCoreAppUIsTarmIndicator
+ CSysApSubscriber* iMtvRecStatusSubscriber; // KCoreAppUIsMtvRecStatus
+ CSysApSubscriber* iMtvDvbhStatusSubscriber; // KCoreAppUIsMtvDvbhStatus
+ /**
+ * Subscriber for KCoreAppUIsVideoSharingIndicator.
+ * Own.
+ */
+ CSysApSubscriber* iVideoSharingIndicatorSubscriber;
+
+ // Category KPSUidWlan
+ CSysApSubscriber* iWlanIndicatorSubscriber; // KPSWlanIndicator WlanInternalPSKeys.h
+
+ TBool iRestoreOngoing;
+
+ // Category KPSUidCtsyCallInformation
+ CSysApSubscriber* iCallInfoSubscriber; // KCTsyCallState ctsydomainpskeys.h
+
+ // Autolock Status API
+ CSysApSubscriber* iAutolockStatusSubscriber; // KCoreAppUIsAutolockStatus
+
+ // Category KPSUidNetworkInfo - NetworkHandlingDomainPSKeys.h
+ CSysApSubscriber* iHomeZoneStatusSubscriber; // KNWHomeZoneStatus
+ CSysApSubscriber* iNetworkModeSubscriber; // KNWTelephonyNetworkMode
+
+ // Category KPSUidUikon
+ CSysApSubscriber* iFlipStatusSubscriber; // KPSUidHWRM
+
+ // Category KPSUidDataSynchronizationInternalKeys
+ /**
+ * Subscriber for key KDataSyncStatus.
+ * Own.
+ */
+ CSysApSubscriber* iSyncStatusSubscriber;
+
+ // Category KPosIndicatorCategory
+ /**
+ * Subscriber for key KPosIntGpsHwStatus.
+ * Own.
+ */
+ CSysApSubscriber* iGpsIndicatorSubscriber;
+
+ /**
+ * Subscriber for the key KPSWakeupAlarmStatus.
+ * Own.
+ */
+ CSysApSubscriber* iWakeupAlarmSubscriber;
+
+ /**
+ * Subscriber for the key KUidPSSMSStackDiskSpaceMonitorKey.
+ * Own.
+ */
+ CSysApSubscriber* iSmsPhoneStoreSubscriber;
+};
+
+#endif // SYSAPPUBSUBOBSERVER_H
+
+// End of File