diff -r 000000000000 -r 5e5d6b214f4f uiservicetabsettings/inc/cvimpstsettingsstore.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetabsettings/inc/cvimpstsettingsstore.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,213 @@ +/* +* Copyright (c) 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: vimpst settings store definitions +* +*/ +#ifndef __CVIMPSTSETTINGSSTORE_H +#define __CVIMPSTSETTINGSSTORE_H + +#include + +/** types of settings provided in meco settings */ +enum TSettingItemName + { + ETOUDlgOff = 0x00000000, // key value to enable or disable TOU Dialog to be shown + //0-> show TOU(default),1->Disable TOU.. + EURLRegistrationOff = 0x00000001, // key value to enable or disable URL registration query + //0->URL registration on,1-> URL registration off. + EServiceSuccessfullLogin = 0x00000002, + EServiceToneFileName = 0x00000003, // key value to get the IM tone File name.complete path of the file name should be provided. example "C:\sounds\digital\imtone.wav" + EServiceURLLink = 0x00000004, // key value to get the URL link for IM based on service + EServiceAvatar = 0x00000005, // key value to get the Own Avatar for IM based on service + EServiceAvatarMimeType = 0x00000006, // key value to get the Own Avatar s 'mimetype' for IM based on service + EServiceOwnAvatarIconIndex = 0x00000007 , // key value to get the Own Icon index for avatar s + // key value to check whether the "Cancel Login" is supported or not + // if setting "value = 1" then cancel login not supported else supported. + // if cancel is supported , no need to write anything to cenrep. + // By default its taken as supported. + // if not supported then write explicitly this setting as '1' + EServiceCancelLoginNotSupported = 0x00000008, + EServiceOwnStatusMessagesOnline = 0x00000009, // storing 4 previous messages for online + EServiceOwnStatusMessagesBusy = 0x0000000A, // storing 4 previous messages for busy + EServiceOwnStatusMessagesAway = 0x0000000B, // storing 4 previous messages for away + // key value to check whether the "ChangeConnection" is supported or not + // if setting "value = 1" then ChangeConnection not supported else supported. + // if ChangeConnection is supported , no need to write anything to cenrep. + // By default its taken as supported. + // if not supported then write explicitly this setting as '1' + EServiceChangeConnectionNotSupported = 0x0000000C, + // Presence Info used to republish own presence status in case of network lost and recovered + EServicePresenceAvailablilityValue = 0x0000000D, //Presence Availablility Info + EServicePresenceSessionIdentifier = 0x0000000E, //Presence Session Identifier + EServiceCustomStatusMessage = 0x0000000F, //Presence Custom Status Message + EServiceLastUserName = 0x00000010 // set username in cenrep. + }; + + + +//CLASS DECLARATION +/** + * M-Class for meco settingstore API's + * @lib vimpstsettingsstore.lib + * @since S60 5.0 + */ +class MVIMPSTSettingsStore + { + public: //Interface + + /** + * virtual Destructor. + */ + virtual ~MVIMPSTSettingsStore() + { + } + + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aValue, variable to set/get the value + * @return TInt, used as error passing value. + */ + virtual TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemName, TInt& aValue ) const = 0; + virtual TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TInt aValue ) = 0; + + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aBuffer, variable to set/get the value + * @return TInt, used as error passing value. + */ + virtual TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, RBuf& aBuffer ) const = 0; + virtual TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TDesC& aBuffer ) = 0; + + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aBuffer, variable to set/get the value + * @return TInt, used as error passing value. + */ + virtual TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, RBuf8& aBuffer ) const = 0; + virtual TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TDesC8& aBuffer ) = 0; + + }; + +/** + * vimpst settings API class + * + * Main class of managing vimpst settings + * + * @code example code of how to get/set a value to the setting item in cenrep + * MVIMPSTSettingsStore* settings = CVIMPSTUiSettingsStore::NewLC(); + * TInt value = 1; + * TInt err = settings->SetL(serviceId, ETOUDlgOff, value ); + * similarly for getting the value + * settings->GetL(serviceId, ETOUDlgOff, value); + * delete settings or use clean up stack to push and pop + * @lib vimpstsettingsstore.lib + * @since S60 v5.0 + */ +class CVIMPSTSettingsCenRep; +class CVIMPSTSettings; + +class CVIMPSTSettingsStore : public CBase, + public MVIMPSTSettingsStore + { + + public: // Constructors and destructor + /** + * Constructors + * Do not use MVIMPSTSettingStore object as parameter while calling PopAndDestroy + */ + IMPORT_C static MVIMPSTSettingsStore* NewLC(); + /** + * Constructors , + * No not push MVIMPSSettingStore instance on cleanupstack,maily NewL can be used for member variable + */ + IMPORT_C static MVIMPSTSettingsStore* NewL(); + + /** + * Destructors. + */ + virtual ~CVIMPSTSettingsStore(); + + private: + + /** + * Performs the 2nd phase of construction. + */ + void ConstructL(); + + private: + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aValue, variable to set/get the value + * @return TInt, used as error passing value. + */ + TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemName, TInt& aValue ) const; + TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TInt aValue ); + + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aBuffer, variable to set/get the value + * @return TInt, used as error passing value. + */ + TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, RBuf& aBuffer ) const; + TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TDesC& aBuffer ) ; + + /** + * Peforms Get/Set operation in the cenrep + * @param aServiceId, id if the service for which settings are get/set + * @param aSettingItemName, setting item name + * @param aBuffer, variable to set/get the value + * @return TInt, used as error passing value. + */ + TInt GetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, RBuf8& aBuffer ) const; + TInt SetL(TUint32 aServiceId, TSettingItemName aSettingItemNAme, const TDesC8& aBuffer ) ; + + /** + * Peforms comparision operation of userid in the cenrep + * @param aServiceId, id off the service for which user name is to be compared with cenrep store user id's + * @param auserId, user name to be compared with cenrep store user id's + * @return TBool, if TOU is already shown to user return ETrue else EFalse + */ + TBool IsTOUShownL(TUint32 aServiceId, const TDesC& auserId) ; + + /** + * Peforms Set operation of userid in the cenrep + * @param aServiceId, id of the service for which user name is to be stored in cenrep store + * @param auserId, user name to be stored in cenrep store + * @return TBool, successful will return ETrue else EFalse + */ + TBool SetTOUShownL(TUint32 aServiceId, const TDesC& auserId ); + + private: // helper functions + + void GetSAPL( TUint32 aServiceId , CVIMPSTSettings* aSettings ); + + + private: + // owns : pointer to cen rep + CVIMPSTSettingsCenRep* iCenrepStore; + // owns : pointer to settings + CVIMPSTSettings* iSettings; + }; + +#endif /*__CVIMPSTSETTINGSSTORE_H*/