diff -r 000000000000 -r 3553901f7fa8 smsprotocols/smsstack/smsu/inc/smsuset.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smsprotocols/smsstack/smsu/inc/smsuset.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,139 @@ +// Copyright (c) 1999-2009 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: +// contains header file of the SMS settings. +// +// + +/** + @file +*/ + + +#if !defined (__SMSUSET_H__) +#define __SMSUSET_H__ + +#if !defined (__E32STD_H__) +#include "e32std.h" +#endif + + +class RReadStream; +class RWriteStream; + + +/** + * SMS settings. + * + * SMSPROT uses an instance of TSmsSettings to configure the sms stack timeouts. + * + * The SMSPROT calls TSmsSettings' default constructor during initialisation. + * It then parses smswap.sms.esk for customised settings and updates its instance of + * TSmsSettings accordingly. + * + * Customised settings in smswap.sms.esk should comply with the following syntax: + * + * [customTimeoutSettings] + * sendTryTimeout= value + * bootTimerTimeout = value + * + * where the identifier 'value' is to be substituted with an integer value. + * Integer values less than zero will cause the stack to leave. + * + * Only parameters that need to be customised are required in smswap.sms.esk + * + * @publishedAll + * @released + */ +class TSmsSettings + { +public: + IMPORT_C TSmsSettings(); + + inline const TTimeIntervalMicroSeconds32& Timeout() const; + inline void SetTimeout(const TTimeIntervalMicroSeconds32& aTimeout); + inline TInt SendTryLimit() const; + inline void SetSendTryLimit(TInt aLimit); + inline TBool DeletePDUsFromSIM() const; + inline void SetDeletePDUsFromSIM(TBool aDelete); + inline TBool DeletePDUsFromPhoneStores() const; + inline void SetDeletePDUsFromPhoneStores(TBool aDelete); + inline TBool DeletePDUsFromCombinedStores() const; + inline void SetDeletePDUsFromCombinedStores(TBool aDelete); + inline const TTimeIntervalMinutes& ReassemblyLifetime() const; + inline void SetReassemblyLifetime(const TTimeIntervalMinutes& aReassemblyLifetime); + inline TInt KSegmentationLifetimeMultiplier() const; + inline void SetKSegmentationLifetimeMultiplier(TInt aKSegmentationLifetimeMultiplier); + inline const TTimeIntervalMicroSeconds32& ModemInitializationTimeout() const; + inline void SetModemInitializationTimeout(const TTimeIntervalMicroSeconds32& aTimeout); + inline const TTimeIntervalMicroSeconds32& SendTryTimeout() const; + inline void SetSendTryTimeout(const TTimeIntervalMicroSeconds32& aTimeout); + inline const TTimeIntervalMicroSeconds32& BootTimerTimeout(); + inline void SetBootTimerTimeout(const TTimeIntervalMicroSeconds32& aTimeout); + + IMPORT_C void InternalizeL(RReadStream& aStream); + IMPORT_C void ExternalizeL(RWriteStream& aStream) const; + +private: + enum + { + KDefaultTimeoutMicroSeconds32=60000000 //<60 sec + }; + enum + { + KDefaultSendTryLimit=4 + }; + enum + { + KDefaultReassemblyLifetime=2*1440 //< two days + }; + enum + { + KDefaultKSegmentationLifetimeMultiplier=1200 //< 1.2 + }; + enum + { + KDefaultModemInitializationTimeoutMicroSeconds32=30000000 //<30sec + }; + enum + { + KDefaultSendTryTimeoutMicroSeconds32=60000000 //< 60sec + }; + enum + { + KDefaultBootTimerMicroSeconds32=60000000 // 60sec + }; + enum TSmsSettingsFlags + { + ESmsFlagDeletePDUsFromSIM=0x01, + ESmsFlagDeletePDUsFromPhoneStores=0x02, + ESmsFlagDeletePDUsFromCombinedStores=0x04 + }; +private: + TTimeIntervalMicroSeconds32 iTimeoutMicroSeconds32; //