coreapplicationuis/SysAp/Inc/SysApPubSubObserver.h
changeset 0 2e3d3ce01487
child 29 6a787171e1de
child 62 924385140d98
equal deleted inserted replaced
-1:000000000000 0:2e3d3ce01487
       
     1 /*
       
     2 * Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  CSysApPubSubObserver handles SysAp PubSub API
       
    15 *              : related functionality except for BT.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef SYSAPPUBSUBOBSERVER_H
       
    21 #define SYSAPPUBSUBOBSERVER_H
       
    22 
       
    23 // INCLUDES
       
    24 #include <e32base.h>
       
    25 #include "MSysApPropertyResponder.h"
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 
       
    29 class CSysApAppUi;
       
    30 class CSysApSubscriber;
       
    31 class CSysApRemConObserver;
       
    32 
       
    33 // CLASS DECLARATION
       
    34 /**
       
    35 *  CSysApPubSubObserver
       
    36 *  
       
    37 *  @lib   sysap
       
    38 *  @since 2.X 
       
    39 */
       
    40 
       
    41 class CSysApPubSubObserver : 
       
    42               public CBase, 
       
    43               public MSysApPropertyResponder
       
    44 {
       
    45 public:
       
    46 
       
    47     /**
       
    48     * Two-phased constructor.
       
    49     */         
       
    50     static CSysApPubSubObserver* NewL( CSysApAppUi& aSysApAppUi );
       
    51 
       
    52     /**
       
    53     * Destructor.
       
    54     */
       
    55     ~CSysApPubSubObserver();
       
    56 
       
    57 private:
       
    58 
       
    59     /**
       
    60     * Handle keys under category KUidSystemCategory
       
    61     */         
       
    62     void HandleSystemCategoryL( const TUint aKey, const TInt aValue );
       
    63 
       
    64     /**
       
    65     * Handle keys under category KPSUidStartup
       
    66     */         
       
    67     void HandleStartupCategoryL( const TUint aKey, const TInt aValue );
       
    68 
       
    69     /**
       
    70     * Handle keys under category KPSUidCoreApplicationUIs
       
    71     */         
       
    72     void HandleCoreAppUIsCategoryL( const TUint aKey, const TInt aValue );
       
    73 
       
    74     /**
       
    75     * Handle keys under category KPSUidHWRMPowerState
       
    76     */         
       
    77     void HandleHwrmPowerStateCategoryL( const TUint aKey, const TInt aValue );
       
    78 
       
    79     /**
       
    80     * Handle keys under category KPSUidWlan
       
    81     */
       
    82     void HandleWlanCategoryL( const TUint aKey, const TInt aValue );
       
    83 
       
    84     /**
       
    85     * Handle keys under category KPSUidNetworkInfo
       
    86     */
       
    87     void HandleNetworkInfoCategoryL( const TUint aKey, const TInt aValue );
       
    88 
       
    89     /**
       
    90     * Handle keys under category KPSUidCtsyCallInformation.
       
    91     */
       
    92     void HandleTelephonyCallInformationCategoryL( const TUint aKey, const TInt aValue );
       
    93     
       
    94     /**
       
    95     * Handle keys under category KPSUidHWRM
       
    96     */
       
    97     void HandleHwrmCategoryL( const TUint aKey, const TInt aValue );
       
    98 
       
    99     /**
       
   100     * Handle keys under category KPSUidHWRMFmTx
       
   101     */
       
   102     void HandleHwrmFmTxCategoryL( const TUint aKey, const TInt aValue );
       
   103     
       
   104     /**
       
   105     * Handle keys under category KPSUidDataSynchronizationInternalKeys
       
   106     * 
       
   107     * @since S60 3.2
       
   108     * @param aKey   key identifier whose change triggered notification
       
   109     * @param aValue key value
       
   110     * @return None.
       
   111     */
       
   112     void HandleDataSyncCategoryL( const TUint aKey, const TInt aValue );
       
   113 
       
   114     /**
       
   115     * Handle keys under category KPosIndicatorCategory
       
   116     * 
       
   117     * @since S60 3.2
       
   118     * @param aKey   key identifier whose change triggered notification
       
   119     * @param aValue key value
       
   120     */
       
   121     void HandlePosIndicatorCategoryL( const TUint aKey, const TInt aValue );
       
   122 
       
   123     /**
       
   124     * Handle keys under category KUidPSSMSStackCategory
       
   125     * 
       
   126     * @since S60 3.2
       
   127     * @param aKey   key identifier whose change triggered notification
       
   128     * @param aValue key value
       
   129     */
       
   130     void HandleSmsStackCategoryL( const TUint aKey, const TInt aValue );
       
   131 
       
   132     /**
       
   133     * Constructors.
       
   134     */         
       
   135     CSysApPubSubObserver( CSysApAppUi& aSysApAppUi );
       
   136     void ConstructL();
       
   137 
       
   138 protected: // From MSysApPropertyResponder
       
   139 
       
   140     void HandlePropertyChangedL( const TUid& aCategory, const TUint aKey );
       
   141  
       
   142 private:
       
   143     
       
   144     CSysApAppUi&        iSysApAppUi;
       
   145 
       
   146     // Category KUidSystemCategory
       
   147     CSysApSubscriber*   iBatteryBarsSubscriber;              // KPSUidBatteryBars
       
   148     CSysApSubscriber*   iBatteryLowIndicationSubscriber;     // KPSUidBatteryLowIndication
       
   149     CSysApSubscriber*   iBatteryCStatusSubscriber;           // KPSUidBatteryCStatus
       
   150     CSysApSubscriber*   iChargerCStatusSubscriber;           // KPSUidChargerCStatus
       
   151     CSysApSubscriber*   iInboxStatusSubscriber;              // KUidInboxStatusValue
       
   152     CSysApSubscriber*   iOutboxStatusSubscriber;             // KUidOutboxStatus
       
   153     CSysApSubscriber*   iIrdaStatusSubscriber;               // KPSUidIrdaStatus
       
   154     CSysApSubscriber*   iGprsStatusSubscriber;               // KPSUidGprsStatus
       
   155     CSysApSubscriber*   iWcdmaStatusSubscriber;              // KPSUidWcdmaStatus
       
   156     CSysApSubscriber*   iLocationGlobalPrivacySubscriber;    // KPSUidLocationGlobalPrivacy
       
   157     CSysApSubscriber*   iRestoreBackupSubscriber;            // KUidBackupRestoreKey
       
   158 
       
   159     // Category KPSUidStartup
       
   160     CSysApSubscriber*   iSimChangedSubscriber;               // KPSSimChanged
       
   161 
       
   162     // Category KHWRMFmTxStatus
       
   163     CSysApSubscriber*   iFmTxStatusSubscriber;   // KPSUidHWRMFmTx
       
   164     
       
   165     TInt iPreviousFmTxPSValue;
       
   166     
       
   167     CSysApRemConObserver* iFmTxRemConObserver;
       
   168     
       
   169     // Category KPSUidCoreApplicationUIs
       
   170 
       
   171     // Light Control API
       
   172     CSysApSubscriber*   iAlarmLightSubscriber;               // KLightsAlarmLightActive (KSysApAlarmLightActive)
       
   173     CSysApSubscriber*   iVTLightsSubscriber;                 // KLightsVTForcedLightsOn (KSysApForcedLightsOn)
       
   174     CSysApSubscriber*   iSSLightsSubscriber;                 // KLightsSSForcedLightsOn (KSysApForcedSSLightsOn)
       
   175     CSysApSubscriber*   iATCLightsSubscriber;                // KLightsATCForcedLightsOn
       
   176     CSysApSubscriber*   iLightsControlSubscriber;            // KLightsControl (KSysApLightsControl)
       
   177 
       
   178     // System Application Notification API
       
   179     CSysApSubscriber*   iDisableKeyguardSubscriber;          // KCoreAppUIsDisableKeyguard (KSysApKeyGuardInactive)
       
   180     CSysApSubscriber*   iSoftRejectSubscriber;               // KCoreAppUIsSoftReject (KSysApSoftReject)
       
   181     CSysApSubscriber*   iUipIndSubscriber;                   // KCoreAppUIsUipInd (KSysApUipInd)
       
   182     CSysApSubscriber*   iMessageToneQuitSubscriber;          // KCoreAppUIsMessageToneQuit (KSysApMessageToneQuit)
       
   183     CSysApSubscriber*   iNspsRawKeyEventSubscriber;          // KCoreAppUIsNspsRawKeyEvent (KSysApNspsRawKeyEvent)
       
   184     CSysApSubscriber*   iLightsRawKeyEventSubscriber;        // KCoreAppUIsLightsRawKeyEvent (KSysApLightsControl)
       
   185     CSysApSubscriber*   iMmcRemovedWithoutEjectSubscriber;   // KCoreAppUIsMmcRemovedWithoutEject (KSysApMmcRemovedWithoutEject)
       
   186     CSysApSubscriber*   iNewEmailStatusSubscriber;           // KCoreAppUIsNewEmailStatus
       
   187     CSysApSubscriber*   iPoCIndicatorSubscriber;             // KCoreAppUIsPoCIndicator
       
   188     CSysApSubscriber*   iPoCMissedIndicatorSubscriber;       // KCoreAppUIsPoCMissedIndicator
       
   189     CSysApSubscriber*   iTarmStatusSubscriber;               // KCoreAppUIsTarmIndicator
       
   190     CSysApSubscriber*   iMtvRecStatusSubscriber;             // KCoreAppUIsMtvRecStatus
       
   191     CSysApSubscriber*   iMtvDvbhStatusSubscriber;            // KCoreAppUIsMtvDvbhStatus
       
   192     /**
       
   193     * Subscriber for KCoreAppUIsVideoSharingIndicator.
       
   194     * Own.
       
   195     */
       
   196     CSysApSubscriber* iVideoSharingIndicatorSubscriber;
       
   197     
       
   198     // Category KPSUidWlan
       
   199     CSysApSubscriber*   iWlanIndicatorSubscriber;            // KPSWlanIndicator WlanInternalPSKeys.h
       
   200 
       
   201     TBool               iRestoreOngoing;
       
   202 
       
   203     // Category KPSUidCtsyCallInformation
       
   204     CSysApSubscriber* iCallInfoSubscriber; // KCTsyCallState ctsydomainpskeys.h
       
   205     
       
   206     // Autolock Status API
       
   207     CSysApSubscriber*   iAutolockStatusSubscriber;           // KCoreAppUIsAutolockStatus
       
   208 
       
   209     // Category KPSUidNetworkInfo - NetworkHandlingDomainPSKeys.h
       
   210     CSysApSubscriber*   iHomeZoneStatusSubscriber;           // KNWHomeZoneStatus
       
   211     CSysApSubscriber*   iNetworkModeSubscriber;              // KNWTelephonyNetworkMode
       
   212     
       
   213     // Category KPSUidUikon
       
   214     CSysApSubscriber*   iFlipStatusSubscriber;               // KPSUidHWRM
       
   215     
       
   216     // Category KPSUidDataSynchronizationInternalKeys
       
   217     /**
       
   218     * Subscriber for key KDataSyncStatus.
       
   219     * Own.
       
   220     */
       
   221     CSysApSubscriber* iSyncStatusSubscriber;
       
   222     
       
   223     // Category KPosIndicatorCategory
       
   224     /**
       
   225     * Subscriber for key KPosIntGpsHwStatus.
       
   226     * Own.
       
   227     */
       
   228     CSysApSubscriber* iGpsIndicatorSubscriber;
       
   229     
       
   230     /**
       
   231     * Subscriber for the key KPSWakeupAlarmStatus.
       
   232     * Own.
       
   233     */
       
   234     CSysApSubscriber* iWakeupAlarmSubscriber;
       
   235 
       
   236     /**
       
   237     * Subscriber for the key KUidPSSMSStackDiskSpaceMonitorKey.
       
   238     * Own.
       
   239     */
       
   240     CSysApSubscriber* iSmsPhoneStoreSubscriber;
       
   241 };
       
   242 
       
   243 #endif // SYSAPPUBSUBOBSERVER_H
       
   244 
       
   245 // End of File