phonesrv_plat/ss_settings_api/inc/RSSSettings.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/phonesrv_plat/ss_settings_api/inc/RSSSettings.h	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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: 
-*     Class for getting information about the Clir, Cug, Als and Als blocking
-*     status in the phone. 
-*
-*/
-
-
-#ifndef RSSSETTINGS_H
-#define RSSSETTINGS_H
-
-//  INCLUDES
-#include <etelmm.h>
-#include <rcustomerserviceprofilecache.h> 
-
-// DATA TYPES
-
-/**
-* All enumerations are fixed - DO NOT CHANGE!!
-*/
-
-/**
-* It enumerates all SSSettings settings.
-*
-* ESSSettingsCug         - closed user group setting, 
-*                     for some values see TSSSettingsCugValue.
-* ESSSettingsClir        - default setting for calling line identification 
-*                     restriction, see TSSSettingsClirValue.
-* ESSSettingsAls         - selected line, see TSSSettingsAlsValue.
-* ESSSettingsAlsBlocking - line selection blocking, see TSSSettingsAlsBlocking.
-* ESSSettingsCugDefault - value for cug default.
-*/
-enum TSSSettingsSetting
-    {
-    ESSSettingsCug = 0,  
-    ESSSettingsClir = 1, 
-    ESSSettingsAls = 2,
-    ESSSettingsAlsBlocking = 3,
-    ESSSettingsDefaultCug = 4
-    };
-
-/**
-* It enumerates all values for CLIR.
-*
-* ESSSettingsClirNetworkDefault - use network default
-* ESSSettingsClirExplicitInvoke - by default, invoke CLIR
-* ESSSettingsClirExplicitSuppress - by default, suppress CLIR
-*/
-enum TSSSettingsClirValue
-    {
-    ESSSettingsClirNetworkDefault,
-    ESSSettingsClirExplicitInvoke,
-    ESSSettingsClirExplicitSuppress
-    };
-
-/**
-* It enumerates SOME values for CUG.
-* 
-* Alternative CUG default (and min value) can be set on/off from 
-* shared data (shareddatakeys.h, key: KPhoneCUGIndexStartValue).
-*
-* CUG value is basically interger.
-*
-* ESSSettingsCugSuppress - special, suppress CUG
-* ESSSettingsCugDefault - special, use network default CUG
-* ESSSettingsCugMin - minimum value for proper CUG index.
-* ESSSettingsCugMax - maximum value for proper CUG index.
-* ESSSettingsAltCugDefault - special, alternative default CUG
-* ESSSettingsAltCugMin - special, alternative minimum for CUG
-*/
-enum TSSSettingsCugValue
-    {
-    ESSSettingsCugSuppress = -1,
-    ESSSettingsCugDefault = 0, //Note: default can be 0 or 65535 (see above)
-    ESSSettingsCugMin = 1,     //Note: min value can be 0 or 1 (see above)
-    ESSSettingsCugMax = 32767,
-    ESSSettingsAltCugDefault = 65535,
-    ESSSettingsAltCugMin = 0
-    };
-
-/**
-* It enumerates all values for ALS.
-*
-* ESSSettingsAlsNotSupported - ALS not supported, always primary line.
-* ESSSettingsAlsPrimary - ALS supported, primary line selected.
-* ESSSettingsAlsAlternate - ALS supported, alternate line selected.
-*/
-enum TSSSettingsAlsValue
-    {
-    ESSSettingsAlsNotSupported = 0,
-    ESSSettingsAlsPrimary = 1,
-    ESSSettingsAlsAlternate = 2
-    };
-
-/**
-* It enumerates all values for ALS blocking.
-*
-* ESSSettingsAlsBlockingNotSupported - ALS blocking not supported.
-* ESSSettingsAlsBlockingOff - ALS blocking off.
-* ESSSettingsAlsBlockingOn - ALS blocking on.
-*/
-enum TSSSettingsAlsBlockingValue
-    {
-    ESSSettingsAlsBlockingNotSupported,
-    ESSSettingsAlsBlockingOff,
-    ESSSettingsAlsBlockingOn
-    };
-
-// FORWARD DECLARATIONS
-class MSSSettingsObserver;
-class CSSSettingsNotifier;
-class RMmCustomAPI;
-class CRepository;
-
-
-// CLASS DECLARATION
-
-/**
-*  It is class that can be used to fetch phone related settings.
-*  @since 1.0
-*  @lib sssettings.lib
-*/
-class RSSSettings
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        IMPORT_C RSSSettings();
-
-    public: // New functions
-        
-        /**
-        * Closes SsSettings.
-        *
-        * After the use of the class, the method must be called.
-        */
-        IMPORT_C void Close();
-
-        /**
-        * Opens SsSettings.
-        *
-        * Before using the class, one of Open methods must be called.
-        *
-        * @return error code. KErrNone, if success.
-        */
-        IMPORT_C TInt Open();
-
-        /**
-        * Opens SsSettings.
-        *
-        * Ownership of parameters is NOT transferred. If parameter
-        * is NULL, then the instance creates its own sessions.
-        *
-        * Before using the class, one of Open methods must be called.
-        *
-        * @param aTelServer ETel server session.
-        * @return error code. KErrNone, if success.
-        */
-        IMPORT_C TInt Open(
-            RTelServer* aTelServer );
-
-
-        // CHANGE NOTIFICATIONS
-
-        /**
-        * Registers an observer to receive all changes.
-        *
-        * @param aObserver observer.
-        * @return error code. If other than KErrNone, CancelAll is called 
-        *                     automatically.
-        */
-        IMPORT_C TInt RegisterAll( 
-            MSSSettingsObserver& aObserver );
-
-        /**
-        * Registers an observer to receive changes of a setting.
-        *
-        * @param aSetting setting.
-        * @param aObserver observer.
-        * @return error code. KErrNone: observer is added
-        *                     KErrAlreadyExists: observer is already added
-        *                     KErrNotReady: Possible when BT SAP is on.
-        *                     KErrNotSupported: Possible with ALS.
-        *                     other: observer not registered
-        */
-        IMPORT_C TInt Register( 
-            TSSSettingsSetting aSetting, 
-            MSSSettingsObserver& aObserver );
-
-        /**
-        * Cancels all registrations of the observer.
-        *
-        * @param aObserver observer.
-        */
-        IMPORT_C void CancelAll( 
-            MSSSettingsObserver& aObserver );
-
-        /**
-        * Cancel specific setting.
-        *
-        * @param aSetting setting.
-        * @param aObserver observer.
-        */
-        IMPORT_C void Cancel( 
-            TSSSettingsSetting aSetting,
-            MSSSettingsObserver& aObserver );
-
-        // CHANGE & FETCH VALUE
-
-        /**
-        * Fetch value of a setting.
-        *
-        * @param aSetting setting.
-        * @param aValue result will be stored here (if success).
-        * @return error code: KErrNone, all ok aValue updated.
-        *                     KErrCorrupt, value in shared data is not OK.
-        *                     KErrNotSupported, aSetting is not a "real" setting
-        *                     KErrNotReady, get CSP from ETEL has failed.
-        *                     KErrServerBusy, get CSP from ETEL has failed.
-        */
-        IMPORT_C TInt Get( 
-            TSSSettingsSetting aSetting,
-            TInt& aValue );
-
-        /**
-        * Changes value of a setting. Successfull function call generates notify
-        * call to each observer in this object even if the value is the same. 
-        * From other objects of this class the observers will get only change 
-        * notifications.
-        *
-        * @param aSetting setting.
-        * @param aValue new value for setting.
-        * @return error code. KErrNone in case of non-error.
-        *                     KErrArgument: parameter not valid
-        *                     KErrNotSupported: In als, if ME doesn't support
-        *                     other, from Shared data or from ETel
-        */
-        IMPORT_C TInt Set(
-            TSSSettingsSetting aSetting,
-            TInt aValue );
-
-        // SIM CHANGE EVENT
-        
-        /**
-        * It is called when SIM changes.
-        *
-        * @return error code.
-        */
-        IMPORT_C TInt HandleSIMChanged();
-
-        /**
-        * Get previous CUG value
-        * @param aPreviousValue Old value is saved here. 0 if not set
-        * @return Error code
-        */
-        IMPORT_C TInt PreviousCugValue( TInt& aPreviousValue );
-
-        /**
-        * Reset previous CUG value
-        * @return Error code
-        */
-        IMPORT_C TInt ResetPreviousCugValue();
-
-        /**
-        * Handle refresh
-        * @return Error code
-        */
-        IMPORT_C TInt HandleRefresh();
-
-        /**
-        * Check whether or not the given CUG index is valid.
-        * @param aValue CUG index
-        * @return Boolean, is it valid CUG index or not
-        */
-        IMPORT_C TBool IsValueValidCugIndex( const TInt& aValue ) const;
-
-    private:
-    
-        /**
-        * Checks if Alternate Line is to be supported.
-        * @param aPpAlsValue parameter to be checked.
-        * @param aSimAlsValue parameter to be checked.
-        * @param aAlsCspSupport parameter to be checked.
-        * @param aAlsCspError parameter to be checked.
-        * @return error code. KErrNone in case of ALS supported.
-        *                     KErrNotSupported in case if ME doesn't support
-        */    
-        TInt IsALSSupported( TInt aPpAlsValue, TInt aSimAlsValue, 
-            TBool aAlsCspSupport, TInt aAlsCspError ) const;
-            
-        // Gets ALS setting value.
-        TInt GetALSSettingValue( TInt& aValue, const TInt aSimState );
-
-        // Prohibit copy constructor if not deriving from CBase.
-        RSSSettings( const RSSSettings& );
-        // Prohibit assigment operator if not deriving from CBase.
-        RSSSettings& operator= ( const RSSSettings& );
-
-        // Opens connection. Leaves on error cases
-        void OpenL( RTelServer* aTelServer );
-
-        // Closes all connections and deletes own data
-        void DeleteSettingsData();
-
-        // Finds if observer is already added
-        TBool ExistsObserver( TSSSettingsSetting aSetting, 
-                    MSSSettingsObserver& aObserver );
-
-        // Informs observers about the value change
-        void InformChange( TSSSettingsSetting aSetting , TInt aNewValue );
-
-        // Finds next observer, NULL if there isn't any. Used in deleting data.
-        MSSSettingsObserver* FindOneObserver() const;
-
-        // Async call back for informing observer about own changes.
-        static TInt InformCallBack( TAny* aPtr );
-
-        // CUG value is divided into two parts - needs special handling...
-        TInt GetCug( TInt& aValue ) const;
-        TInt GetDefaultCugL( TInt& aValue ) const;
-        TInt SetCug( const TInt aValue, const TInt aCugDefault ) const;
-
-    private:    // Data
-
-        //Private Array type for RSSSettings.
-        typedef RPointerArray<MSSSettingsObserver> RSSSettingsObserverArray;
-
-        /**
-        * All data members are included in one structure.
-        * This it can be changed accoring to needs, but the
-        * BC stays the same.
-        */
-        struct TSSSettingsData
-            {
-            RTelServer*          iTelServer;         // ETel client
-            TBool                iOwnTelServer;      // ETrue if own
-            RMobilePhone         iMobilePhone;       // Mobile Phone
-            RArray<RSSSettingsObserverArray> iObservers;// Array for obs. arrays
-            CAsyncCallBack*      iCallBack;          // Async call back
-            TInt                 iCallBackSetting;   // Setting that is changed
-            TInt                 iCallBackValue;     // New value.
-            CSSSettingsNotifier* iNotifier;          // Change notifier
-            RMmCustomAPI*        iCustomPhone;       // Custom Phone
-            TInt                 iCUGDefault;        // CUG default
-            CRepository*         iRepository;        // Central repository.           
-            };
-
-        TSSSettingsData* iData;                         // The data
-
-    protected:
-        // Friend class uses all members in iData. This procedure saves
-        // a lot of function from the API which are not meant for
-        // external use.
-        friend class CSSSettingsNotifier;
-    };
-
-// Panic enums
-enum TSSSettingsPanic
-    {
-    SSSettingsPanicOpenNotDone = 6000,  // Some function is called before Open()
-    SSSettingsPanicInvalidRequest,      // Given Setting is out of range.
-    SSSettingsPanicConflictInAls        // Can't determine ALS state.
-    };
-
-GLREF_C void Panic( TSSSettingsPanic aPanic );
-
-#endif      // RSSSETTINGS_H   
-            
-// End of File