--- /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; //<TimeOut period in microseconds for sending a PDU
+ /**
+ * Number of attempts for sending a PDU.
+ * @deprecated 7.0
+ */
+ TInt iSendTryLimit;
+ TInt iFlags; //<Contains TSmsSettingsFlags
+ TTimeIntervalMinutes iReassemblyLifetime;//< Maximum time PDUs making a concatenated message stay in the reassembly store before they have all arrived
+ TInt iKSegmentationLifetimeMultiplier; //< Validity period is multiplied by this fraction, 1000=1:1
+ TTimeIntervalMicroSeconds32 iModemInitializationTimeoutMicroSeconds32;//<TimeOut period in microseconds for initialising the modem
+ TTimeIntervalMicroSeconds32 iSendTryTimeoutMicroSeconds32;//< TimeOut period in microseconds for the send operation
+ TTimeIntervalMicroSeconds32 iBootTimerTimeout32; // TimeOut period in microseconds for the boot timer.
+ };
+
+#include "smsuset.inl"
+
+#endif // !defined __SMSUSET_H__