1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // contains header file of the SMS settings.
25 #if !defined (__SMSUSET_H__)
28 #if !defined (__E32STD_H__)
40 * SMSPROT uses an instance of TSmsSettings to configure the sms stack timeouts.
42 * The SMSPROT calls TSmsSettings' default constructor during initialisation.
43 * It then parses smswap.sms.esk for customised settings and updates its instance of
44 * TSmsSettings accordingly.
46 * Customised settings in smswap.sms.esk should comply with the following syntax:
48 * [customTimeoutSettings]
49 * sendTryTimeout= value
50 * bootTimerTimeout = value
52 * where the identifier 'value' is to be substituted with an integer value.
53 * Integer values less than zero will cause the stack to leave.
55 * Only parameters that need to be customised are required in smswap.sms.esk
63 IMPORT_C TSmsSettings();
65 inline const TTimeIntervalMicroSeconds32& Timeout() const;
66 inline void SetTimeout(const TTimeIntervalMicroSeconds32& aTimeout);
67 inline TInt SendTryLimit() const;
68 inline void SetSendTryLimit(TInt aLimit);
69 inline TBool DeletePDUsFromSIM() const;
70 inline void SetDeletePDUsFromSIM(TBool aDelete);
71 inline TBool DeletePDUsFromPhoneStores() const;
72 inline void SetDeletePDUsFromPhoneStores(TBool aDelete);
73 inline TBool DeletePDUsFromCombinedStores() const;
74 inline void SetDeletePDUsFromCombinedStores(TBool aDelete);
75 inline const TTimeIntervalMinutes& ReassemblyLifetime() const;
76 inline void SetReassemblyLifetime(const TTimeIntervalMinutes& aReassemblyLifetime);
77 inline TInt KSegmentationLifetimeMultiplier() const;
78 inline void SetKSegmentationLifetimeMultiplier(TInt aKSegmentationLifetimeMultiplier);
79 inline const TTimeIntervalMicroSeconds32& ModemInitializationTimeout() const;
80 inline void SetModemInitializationTimeout(const TTimeIntervalMicroSeconds32& aTimeout);
81 inline const TTimeIntervalMicroSeconds32& SendTryTimeout() const;
82 inline void SetSendTryTimeout(const TTimeIntervalMicroSeconds32& aTimeout);
83 inline const TTimeIntervalMicroSeconds32& BootTimerTimeout();
84 inline void SetBootTimerTimeout(const TTimeIntervalMicroSeconds32& aTimeout);
86 IMPORT_C void InternalizeL(RReadStream& aStream);
87 IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
92 KDefaultTimeoutMicroSeconds32=60000000 ///<60 sec
96 KDefaultSendTryLimit=4
100 KDefaultReassemblyLifetime=2*1440 ///< two days
104 KDefaultKSegmentationLifetimeMultiplier=1200 ///< 1.2
108 KDefaultModemInitializationTimeoutMicroSeconds32=30000000 ///<30sec
112 KDefaultSendTryTimeoutMicroSeconds32=60000000 ///< 60sec
116 KDefaultBootTimerMicroSeconds32=60000000 // 60sec
118 enum TSmsSettingsFlags
120 ESmsFlagDeletePDUsFromSIM=0x01,
121 ESmsFlagDeletePDUsFromPhoneStores=0x02,
122 ESmsFlagDeletePDUsFromCombinedStores=0x04
125 TTimeIntervalMicroSeconds32 iTimeoutMicroSeconds32; ///<TimeOut period in microseconds for sending a PDU
127 * Number of attempts for sending a PDU.
131 TInt iFlags; ///<Contains TSmsSettingsFlags
132 TTimeIntervalMinutes iReassemblyLifetime;///< Maximum time PDUs making a concatenated message stay in the reassembly store before they have all arrived
133 TInt iKSegmentationLifetimeMultiplier; ///< Validity period is multiplied by this fraction, 1000=1:1
134 TTimeIntervalMicroSeconds32 iModemInitializationTimeoutMicroSeconds32;///<TimeOut period in microseconds for initialising the modem
135 TTimeIntervalMicroSeconds32 iSendTryTimeoutMicroSeconds32;///< TimeOut period in microseconds for the send operation
136 TTimeIntervalMicroSeconds32 iBootTimerTimeout32; // TimeOut period in microseconds for the boot timer.
139 #include "smsuset.inl"
141 #endif // !defined __SMSUSET_H__