diff -r 000000000000 -r 094583676ce7 wvuing/wvuiave/AppSrc/CCAAppSettingsSAPExt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiave/AppSrc/CCAAppSettingsSAPExt.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,145 @@ +/* +* Copyright (c) 2002-2004 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: SAP extension to Application settings + * +*/ + + + +#ifndef CCAAPPSETTINGSSAPEXT_H +#define CCAAPPSETTINGSSAPEXT_H + +// INCLUDES + +#include + +// FORWARD DECLARATIONS +class CIMPSPresenceConnectionUi; +class CIMPSSAPSettings; +class CIMPSSAPSettingsStore; + +// CLASS DECLARATION + +/** + * Application settings extension to SAP settings + * @lib chat.lib + * @since Series 60 3.0 + */ +class CCAAppSettingsSAPExt : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aConnUI Connection UI.. + * @param aPreserveSessionIdInExit ETrue to preserve IMPSCUI Session Id when exiting, + * needed in Always Online case + * @param aSap If given, the settings will be saved in the sap + * instead of cenrep. + */ + static CCAAppSettingsSAPExt* NewL( CIMPSPresenceConnectionUi& aConnUi, + TBool aPreserveSessionIdInExit = EFalse, + CIMPSSAPSettings* aSap = NULL ); + + + /** + * Two-phased constructor. + * @see CCAAppSettingsSAPExt::NewL + */ + static CCAAppSettingsSAPExt* NewLC( CIMPSPresenceConnectionUi& aConnUi, + TBool aPreserveSessionIdInExit = EFalse, + CIMPSSAPSettings* aSap = NULL ); + + /** + * Destructor. + */ + virtual ~CCAAppSettingsSAPExt(); + + 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 ); + + private: //New functions + + /** + * Gets editable stored SAP + */ + CIMPSSAPSettings* StoredSAPLC(); + + /** + * Gets current SAP + */ + CIMPSSAPSettings* CurrentSAPLC(); + + private: + + /** + * C++ default constructor. + */ + CCAAppSettingsSAPExt( CIMPSPresenceConnectionUi& aConnUi, + TBool aPreserveSessionIdInExit ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL( CIMPSSAPSettings* aSap ); + + private: // Data + // Doesnt Own. Connection UI + //Removed the ownership of iConnUI from this file and made it a reference + //APPUI owns this connection UI instance and shares the same with this component. + CIMPSPresenceConnectionUi& iConnUI; + + // Owns, sapsettingstore interface + CIMPSSAPSettingsStore* iSapSettings; + + // does not own + CIMPSSAPSettings* iSap; + + // ETrue if IMPSCUI Session Id should be preserved upon exit + TBool iPreserveSessionIdInExit; + }; + +#endif // CCAAPPSETTINGSSAPEXT_H + +// End of File