--- /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