satengine/SatServer/SystemState/inc/CSatSystemState.h
changeset 0 ff3b6d0fd310
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/SatServer/SystemState/inc/CSatSystemState.h	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,215 @@
+/*
+* Copyright (c) 2002-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:  Provides system state information to SAT Server
+*
+*/
+
+
+
+#ifndef CSATSYSTEMSTATE_H
+#define CSATSYSTEMSTATE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <e32property.h>
+#include <msvapi.h>
+#include "MSatSystemState.h"
+#include "csatnetworkregstatusmonitor.h"
+
+// PREDEFINED CLASS
+class MSatMultiModeApi;
+
+// CONSTANTS
+const TInt KMaxSCANumberSize = 251;
+
+/**
+*  Accessors for system state information.
+*
+*  @lib SatSystemState
+*  @since Series 60 3.0
+*/
+class CSatSystemState : public CBase,
+                        public MSatSystemState,
+                        public MMsvSessionObserver
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @param aPhone Reference to mobile phone
+        */
+        static MSatSystemState* NewL( MSatMultiModeApi& aPhone );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CSatSystemState();
+
+    public: // Functions from base classes
+
+        /**
+        * From MSatSystemState Gets the network registrtaion status
+        * @return Mobile phone's registration status
+        */
+        RMobilePhone::TMobilePhoneRegistrationStatus
+            GetNetworkRegistrationStatus();
+
+        /**
+        * From MSatSystemState Checks is call active.
+        * @return TBool indicating wether call is active or not
+        */
+        TBool IsCallActive();
+
+        /**
+        * From MSatSystemState Checks is call active.
+        * @return TBool indicating wether call is coming or not
+        */
+        TBool IsCallIncoming();
+
+        /**
+        * From MSatSystemState Gets SCA number from CommsDB and
+        * returns it.
+        * @return SCANumber from CommsDB.
+        */
+        const TDesC& SCANumber();
+
+        /**
+        * From MSatSystemState Checks is phone in silent mode.
+        * @return TBool indicating wether phone is in silent mode
+        */
+        TBool IsSilentMode();
+
+        /**
+        * From MSatSystemState Checks is phone in idle state.
+        * @return TBool indicating wether phone is in idle mode
+        */
+        TBool IsPhoneInIdleStateL();
+
+        /**
+        * From MSatSystemState Checks is screen saver actived from idle.
+        * @return TBool indicating whether screen saver is actived from idle.
+        */
+        TBool IsScreenSaverActivedFromIdle();
+        
+        /**
+        * From MSatSystemState Sets time between language selection and reboot.
+        * @param aTime Time before reboot.
+        * @return KErrNone if time is set successfully.
+        */
+        TInt WriteLanguageSelectionTime(
+            TInt aTime );
+
+        /**
+        * From MSatSystemState Puts proactive Idle Mode Text command data to
+        * shared data.
+        * @param aString Idle mode text string
+        * @param aIconId Idle mode text icon ID
+        * @param aIconQualifier Idle mode text icon qualifier
+        * @return KErrNone if setting data is OK
+        */
+        TInt WriteSetIdleModeText(
+            const TDesC& aString,
+            TInt aIconId,
+            RSat::TIconQualifier aIconQualifier );
+
+        /**
+        * From MSatSystemState Checks is backup / restore process ongoing.
+        * @return TBool indicating is process ongoing or not.
+        */
+        TBool IsBackupProcessOngoing();
+
+        /**
+        * From MSatSystemState Checks is ConfirmSatOperations on.
+        * @return TBool indicating is confirmation on or off.
+        */
+        TBool IsConfirmSatOperationsOn();
+
+        /**
+        * From MSatSystemState Gets the display language from
+        * CentRep and returns it.
+        * @return ID indicating the selected language.
+        */
+        TInt DisplayTextLanguage();
+
+        /**
+        * Checks is Bluetooth SIM Access Profile active
+        * @return ETrue if BT SAP is active
+        */
+        TBool IsBtSapActive();
+
+        /**
+        * From MMsvSessionObserver Indicates an event has occurred from a
+        * Message Server session.
+        * @param aEvent  Indicates the event type
+        * @param aArg1  Event type-specific argument value
+        * @param aArg2  Event type-specific argument value
+        * @param aArg3  Event type-specific argument value
+        */
+        virtual void HandleSessionEventL(
+            TMsvSessionEvent /*aEvent*/,
+            TAny* /*aArg1*/,
+            TAny* /*aArg2*/,
+            TAny* /*aArg3*/) {};
+            
+        /**
+        * From MSatSystemState Checks are phone warnings and game tones on.
+        * @return TBool indicating wether phone are warnings and game tone on.
+        */
+        TBool IsWarningAndGameTonesOn();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        * @param aPhone Reference to mobile phone
+        */
+        CSatSystemState( MSatMultiModeApi& aPhone );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL( MSatMultiModeApi& aPhone );
+
+        /**
+        * Reads current Short Message Service Center Address.
+        * @param aAddress The reference for SCA number.
+        */
+        void ReadCurrentSMSCL( TDes& aAddress );
+
+        /**
+        * Specifies an entry in the Message Server index.
+        * @param aSession The current message server session.
+        * @param aMtm The SMS messaging type module UID.
+        * @return The entry in the Message Server index.
+        */
+        TMsvId ServiceForMTML(
+            CMsvSession& aSession,
+            const TUid& aMtm ) const;
+
+    private:    // Data
+
+        // Network registration status monitor
+        CSatNetworkRegStatusMonitor* iNetworkRegStatusMonitor;
+
+        // Descriptor for SCA number
+        TBuf<KMaxSCANumberSize> iScaAddress;
+
+        // Reference for MSatMultiModeApi
+        MSatMultiModeApi& iPhone;
+
+    };
+
+#endif      // CSATSYSTEMSTATE_H
+
+// End of File