wvuing/wvcommandutils/Inc/CCACommandSettingSapExtCmd.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvcommandutils/Inc/CCACommandSettingSapExtCmd.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2006 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:  Implementation for Settings Interface for getting/setting tonefilename etc
+*
+*/
+
+#ifndef CCACOMMANDSETTINGASPEXTCMD_H
+#define CCACOMMANDSETTINGASPEXTCMD_H
+
+
+
+// INCLUDES
+#include "MCASettingsPC.h"
+#include"MCASettingSapExt.h"
+
+// FORWARD DECLARATIONS
+class CIMPSPresenceConnectionUi;
+class CIMPSSAPSettingsStore;
+class MCASettingsPC;
+class CIMPSSAPSettings;
+
+
+class CCACommandSettingSapExtCmd : public CBase, public MCASettingSapExt
+    {
+    public:
+        /**
+        * Two-phased constructor.
+        * @param aSettingsPC Reference to the settings process component
+        * @param aPreserveSessionIdInExit ETrue to preserve IMPSCUI Session Id when exiting,
+        * needed in Always Online case
+        * @param aSAPSettings If given, the settings will be saved in the sap
+        * instead of cenrep.
+        */
+        static CCACommandSettingSapExtCmd* NewLC( MCASettingsPC* aSettingsPC,
+                                                  TBool aPreserveSessionIdInExit = EFalse,
+                                                  CIMPSSAPSettings* aSAPSettings = NULL );
+
+        /**
+         * Two-phased constructor.
+         * @param aSettingsPC Reference to the settings process component
+         * @param aPreserveSessionIdInExit ETrue to preserve IMPSCUI Session Id when exiting,
+         * needed in Always Online case
+         * @param aSAPSettings If given, the settings will be saved in the sap
+         * instead of cenrep.
+         */
+
+        static CCACommandSettingSapExtCmd* NewL( MCASettingsPC* aSettingsPC,
+                                                 TBool aPreserveSessionIdInExit = EFalse,
+                                                 CIMPSSAPSettings* aSAPSettings = NULL );
+
+
+        /**
+         * Destructor.
+         */
+        virtual ~CCACommandSettingSapExtCmd( );
+
+
+    public: // New functions
+
+        /**
+         * Sets int value to SAP settings
+         * @since Series 60 3.0
+         * @param aKey Key for key-value pair in SAP settings
+         * @param aValue Value for key-value pair in SAP settings
+         */
+        void SetIntValueL( const TDesC& aKey, TInt aValue );
+
+
+        /**
+         * Gets int value from SAP settings
+         * @since Series 60 3.0
+         * @param aKey Key for key-value pair in SAP settings
+         * @return Value for key
+         */
+        TInt IntValueL( const TDesC& aKey );
+
+
+        /**
+         * Sets alert tone file name to SAP settings
+         * @since Series 60 3.0
+         * @param aToneFileName Filename that is stored to SAP settings
+         */
+        void SetToneFileNameL( const TDesC& aToneFileName );
+
+
+        /**
+         * Gets alert tone file name from SAP settings
+         * @since Series 60 3.0
+         * @param aToneFileName Filename that is stored to SAP settings
+         */
+        void GetToneFileNameL( TDes& aToneFileName );
+
+    public:
+        //New Methods
+
+        /**
+        * Gets editable stored SAP
+        */
+        CIMPSSAPSettings* StoredSAPLC( );
+
+
+        /**
+        * Gets current SAP
+        */
+        CIMPSSAPSettings* CurrentSAPLC( ) ;
+
+    private:
+
+        /*
+         *ConstructL
+         */
+        void ConstructL( CIMPSSAPSettings* aSAPSettings );
+
+
+
+        /*
+         *Default Constructor
+         * @param aPreserveSessionIdInExit ETrue to preserve IMPSCUI Session Id when exiting,
+         * needed in Always Online case
+         * @param aSettingsPC Reference to the settings process component
+         */
+        CCACommandSettingSapExtCmd( TBool aPreserveSessionIdInExit,
+                                    MCASettingsPC* aSettingsPC );
+
+
+    private://data members
+
+        //Does not own
+        CIMPSSAPSettings* iSAPSettings;
+
+        //Does not own
+        MCASettingsPC* iSettingsPC;
+
+        // ETrue if IMPSCUI Session Id should be preserved upon exit
+        TBool iPreserveSessionIdInExit;
+
+        // Owns, sapsettingstore interface
+        CIMPSSAPSettingsStore* iSAPSettingsStore;
+
+        // Owns. Connection UI
+        CIMPSPresenceConnectionUi* iConnectionUI;
+    };
+
+
+#endif
\ No newline at end of file