epoc32/include/smutset.inl
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
--- a/epoc32/include/smutset.inl	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/smutset.inl	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,607 @@
-smutset.inl
+// 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <smcmmain.h>
+#include <smut.h>
+
+/** 
+Constructor.
+
+@param	aType	
+The type of operation for which progress information is being given.
+*/
+inline TSmsProgress::TSmsProgress(TSmsProgressType aType)
+:	iError(KErrNone),
+	iType(aType),
+	iState(0),
+	iRcpDone(0),
+	iRcpCount(0),
+	iMsgDone(0),
+	iMsgCount(0),
+	iEnumerateFolder(0)
+	{
+	iServiceCenterAddress.Zero();
+	}
+
+/** 
+Gets the validity period for messages sent by the SMS MTM.
+
+If the service centre is unable to deliver the SMS message before this time 
+expires, a failure report may be generated by the service centre, and no further 
+attempts will be made to deliver the message to ther recipient.
+
+Validity period is only used for SMS-SUBMIT, mobile originated messages.
+
+@return
+The validity period of the message.
+*/
+inline const TTimeIntervalMinutes& CSmsMessageSettings::ValidityPeriod() const
+	{
+	return iValidityPeriod;
+	}
+
+/** 
+Sets the validity period for messages sent by the SMS MTM.
+
+@param	aValidityPeriod	
+The validity period.
+
+@panic	SMCM	8	
+The validity period is negative or greater than the maximum validity period
+(debug only).
+*/
+inline void CSmsMessageSettings::SetValidityPeriod(TTimeIntervalMinutes aValidityPeriod)
+	{
+	__ASSERT_DEBUG(aValidityPeriod.Int()>=0 && aValidityPeriod.Int()<=ESmsVPMaximum,Panic(ESmscVPOutOfRange));
+	iValidityPeriod=aValidityPeriod;
+	}
+
+/**
+Gets the values of the UI concatenated-SMS-allowed flag.
+
+If true, the UI should pass a long message in one piece to the MTM. If false, 
+it should split the message manually into 140 byte parts. The value of this 
+flag does not affect the behaviour of the SMS MTM.
+
+@return	
+The concatenated-SMS-allowed flag.
+*/
+inline TBool CSmsMessageSettings::CanConcatenate() const
+	{
+	return iMsgFlags&ESmsSettingsCanConcatenate;
+	}
+
+/** 
+Sets the values of the UI concatenated-SMS-allowed flag.
+
+If true, the UI should pass a long message in one piece to the MTM. If false, 
+it should split the message manually into 140 byte parts. The value of this 
+flag does not affect the behaviour of the SMS MTM.
+
+@param	aCanConcatenate	
+The value to set the concatenated-SMS-allowed flag to.
+*/
+inline void CSmsMessageSettings::SetCanConcatenate(TBool aCanConcatenate)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsCanConcatenate) | (aCanConcatenate?ESmsSettingsCanConcatenate : ESmsSettingsNoFlags);
+	}
+
+/**
+Gets the value of the reject-duplicate setting.
+
+If this is true, the service instructs the SC to reject an Sms-Submit for an 
+SMS still held in the SC that has the same message reference number and same 
+destination address as an previously submitted SMS from the same originating 
+address.
+
+@return	
+The value of the reject-duplicate setting.
+*/
+inline TBool CSmsMessageSettings::RejectDuplicate() const
+	{	
+	return iMsgFlags&ESmsSettingsRejectDuplicate;
+	}
+
+/**
+Sets the value of the reject-duplicate setting.
+
+@param	aRejectDuplicate	
+The value to set the reject-duplicate setting to.
+*/
+inline void CSmsMessageSettings::SetRejectDuplicate(TBool aRejectDuplicate)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsRejectDuplicate) | (aRejectDuplicate?ESmsSettingsRejectDuplicate : ESmsSettingsNoFlags);
+	}
+
+/**
+Tests if a status report (TP-SRR in GSM spec 03.40) will be requested from 
+the Service Centre.
+
+A value of ETrue indicates that a status report will be requested.
+
+@return	
+The value of the Status report flag.
+*/
+inline TBool CSmsMessageSettings::DeliveryReport() const
+	{
+	return iMsgFlags&ESmsSettingsDeliveryReport;
+	}
+
+/** 
+Sets if a status report (TP-SRR in GSM spec 03.40) will be requested from the
+Service Centre.
+
+A value of ETrue indicates that a status report will be requested.
+
+@param	aDeliveryReport	
+The value of the status report flag.
+*/
+inline void CSmsMessageSettings::SetDeliveryReport(TBool aDeliveryReport)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsDeliveryReport) | (aDeliveryReport?ESmsSettingsDeliveryReport : ESmsSettingsNoFlags);
+	}
+
+/**
+Gets the boolean flag that indicates whether a the reply path (Service Centre
+address) should be included in the SMS-SUBMIT message (TP-RP in GSM spec 03.40).
+
+A value of ETrue indicates that the Service Centre address should be included.
+This flag is only relavent for SMS-SUBMIT messages.
+
+@return
+The value of the reply path flag.
+*/
+
+inline TBool CSmsMessageSettings::ReplyPath() const
+	{
+	return iMsgFlags&ESmsSettingsReplyPathRequested;
+	}
+
+/**
+Sets the boolean flag that indicates whether a the reply path (Service Centre
+address) should be included in the SMS-SUBMIT message (TP-RP in GSM spec 03.40).
+
+A value of ETrue indicates that the Service Centre address should be included.
+This flag is only relavent for SMS-SUBMIT messages.
+
+@param   aReplyPathRequest
+The value of the reply path flag.
+*/
+inline void CSmsMessageSettings::SetReplyPath(TBool aReplyPathRequest)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsReplyPathRequested) | (aReplyPathRequest?ESmsSettingsReplyPathRequested : ESmsSettingsNoFlags);
+	}
+
+/**
+Gets the form in which the message should be delivered to the recipient by 
+the service centre. 
+
+Note that the form may or may not actually be supported by the service centre, 
+and that the format of the recipient address(es) may need to be different 
+to a normal telephone number if MessageConversion() is set to any other value 
+than ESmsConvPIDNone, ESmsConvFax, ESmsConvPaging or ESmsConvErmes.
+
+@return
+The value of the message form specifier.
+*/
+inline TSmsPIDConversion CSmsMessageSettings::MessageConversion() const
+	{
+	return iMessageConversion;
+	}
+
+/**
+Sets the form in which the message should be delivered to the recipient by the
+Service Centre. 
+
+Note that the form may or may not actually be supported by the service centre, 
+and that the format of the recipient address(es) may need to be different 
+to a normal telephone number if MessageConversion() is set to any other value 
+than ESmsConvPIDNone, ESmsConvFax, ESmsConvPaging or ESmsConvErmes.
+
+
+@param	aMessageConversion
+The message form specifier.
+*/
+inline void CSmsMessageSettings::SetMessageConversion(TSmsPIDConversion aMessageConversion)
+	{
+	iMessageConversion=aMessageConversion;
+	}
+
+/** 
+Gets the default character set used in the SMS message. 
+
+Text is stored in Unicode on the Symbian OS phone and is converted into the 
+appropriate character set when the message is sent.
+
+@return
+The default character set for the message.
+*/
+inline TSmsDataCodingScheme::TSmsAlphabet CSmsMessageSettings::CharacterSet() const
+	{
+	return iAlphabet;
+	}
+
+/**
+Sets the default character set used in the SMS message.
+
+Text is stored in Unicode on the Symbian OS phone and is converted into the 
+appropriate character set when the message is sent.
+
+@param	aAlphabet
+The value of the default character set for the message.
+*/
+inline void CSmsMessageSettings::SetCharacterSet(TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
+	{
+	iAlphabet=aAlphabet;
+	}
+
+/**
+Sets the format in which the validity period should be sent in a SMS-DELIVER 
+type message.
+
+This is field TP-VPF from GSM spec 03.40.
+
+@param	aValidityPeriodFormat
+The validity period format.
+*/
+inline void CSmsMessageSettings::SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat)
+	{
+	iValidityPeriodFormat = aValidityPeriodFormat;
+	}
+
+/** 
+Gets the format in which the validity period should be sent in a SMS-DELIVER
+type message.
+
+@return
+The validity period format.
+*/
+inline const TSmsFirstOctet::TSmsValidityPeriodFormat CSmsMessageSettings::ValidityPeriodFormat() const
+	{
+	return iValidityPeriodFormat;
+	}
+
+/**
+Sets the flag which indicates whether the service center timestamp should
+be used for the date field in the TMsvEntry in message store. If the flag
+is not set, then the timestamp from the associated CSmsMessage is used.
+
+@param	aUseServiceCenterTimestamp
+Flag to indicate whether to use the service center timestamp
+*/
+inline void CSmsMessageSettings::SetUseServiceCenterTimeStampForDate(TBool aUseServiceCenterTimestamp)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsUseServiceCenterTimeStamp) | (aUseServiceCenterTimestamp ? ESmsSettingsUseServiceCenterTimeStamp : ESmsSettingsNoFlags);
+	}
+
+/**
+Gets the flag which indicates whether the service center timestamp should
+be used for the date field in the TMsvEntry in message store. If the flag
+is not set, then the timestamp from the associated CSmsMessage is used.
+
+@return Flag which indcates if service center timestamp will be used.
+*/
+inline TBool CSmsMessageSettings::UseServiceCenterTimeStampForDate() const
+	{
+	return iMsgFlags & ESmsSettingsUseServiceCenterTimeStamp;
+	}
+
+/**
+Gets whether the editor should quote the received message at the beginning of 
+the reply message.
+
+@return	
+A value of ETrue if the editor should quote the received message at the beginning
+of the reply. EFalse if not.
+*/
+inline TBool CSmsSettings::ReplyQuoted() const
+	{
+	return iSetFlags&ESmsSettingsReplyQuoted;
+	}
+
+/**
+Sets whether the editor should quote the received message at the beginning of
+the reply message.
+
+@param	aReplyQuited
+The value to set the reply-quoted flag to.
+*/
+inline void CSmsSettings::SetReplyQuoted(TBool aReplyQuoted)
+	{
+	iSetFlags = (iSetFlags & ~ESmsSettingsReplyQuoted) | (aReplyQuoted?ESmsSettingsReplyQuoted : ESmsSettingsNoFlags);
+	}
+
+/** 
+Gets the default schedule delivery type of a new message created using the SMS
+client MTM.
+
+@return	
+The schedule delivery type.
+*/
+inline TSmsDelivery CSmsSettings::Delivery() const
+	{
+	return iDelivery;
+	}
+
+/** 
+Sets the default schedule delivery type of a new message created using the SMS
+client MTM.
+
+@param	aDelivery
+The schedule delivery type.
+*/
+inline void CSmsSettings::SetDelivery(TSmsDelivery aDelivery)
+	{
+	iDelivery=aDelivery;
+	}
+
+
+/**
+Gets the way in which status reports that are received by the watcher are handled.
+
+By default, this is EDoNotWatchForReport. This value is not supported and 
+therefore the value must be changed from the default.
+
+@return
+How SMS status reports are handled.
+
+@see	CSmsSettings::TSmsReportHandling
+*/
+inline CSmsSettings::TSmsReportHandling CSmsSettings::StatusReportHandling() const
+	{
+	return iStatusReportHandling;
+	}
+
+/**
+Sets the way in which status reports that are received by the watcher are handled.
+
+@param	aStatusReportHandling
+The SMS status report handling data.
+
+@see	CSmsSettings::TSmsReportHandling
+*/
+inline void CSmsSettings::SetStatusReportHandling(CSmsSettings::TSmsReportHandling aStatusReportHandling)
+	{
+	iStatusReportHandling = aStatusReportHandling;
+	}
+
+/**
+Gets the way in which special messages that are received by the watcher are 
+handled. 
+
+By default, this is EDoNotWatchForReport. This value is not supported and 
+therefore the value must be changed from the default.
+
+@return
+How special messages are handled.
+
+@see	CSmsSettings::TSmsReportHandling
+*/
+inline CSmsSettings::TSmsReportHandling CSmsSettings::SpecialMessageHandling() const
+	{
+	return iSpecialMessageHandling;
+	}
+
+/**
+Sets the way in which special messages that are received by the watcher are 
+handled.
+
+@param	aSpecialMessageHandling
+The special messages handling data.
+
+@see	CSmsSettings::TSmsReportHandling
+*/
+inline void CSmsSettings::SetSpecialMessageHandling(CSmsSettings::TSmsReportHandling aSpecialMessageHandling)
+	{
+	iSpecialMessageHandling = aSpecialMessageHandling;
+	}
+
+/**
+Sets whether the Service settings should be used to update the communications 
+database.
+
+If set, this uses the service settings to update the comms db MODEM table's 
+MODEM_MESSAGE_CENTRE_NUMBER, MODEM_MESSAGE_VALIDITY_PERIOD and 
+MODEM_MESSAGE_DELIVERY_REPORT fields. The update is done when the Service 
+settings are stored into the message store using CSmsSettings::StoreL().
+
+The default setting is for the comms db not to be updated - TSmsSettingsCommDbAction::ENone.
+
+@param	aCommDbAction
+The communications database action.
+
+@see	CSmsSettings::TSmsSettingsCommDbAction
+@see	CSmsSettings::StoreL
+*/
+inline void CSmsSettings::SetCommDbAction(CSmsSettings::TSmsSettingsCommDbAction aCommDbAction)
+	{
+	iCommDbAction = aCommDbAction;
+	}
+
+/**
+Gets the communications database action.
+
+For details, see CSmsSettings::SetCommDbAction().
+
+@return
+The communications database action.
+
+@see	CSmsSettings::TSmsSettingsCommDbAction
+@see	CSmsSettings::SetCommDbAction
+*/
+inline CSmsSettings::TSmsSettingsCommDbAction CSmsSettings::CommDbAction() const
+	{
+	return iCommDbAction;
+	}
+
+/**
+Sets whether the Service's SMS bearer setting should be used to update the 
+communications database.
+
+If set, this uses the service setting to update the comm db global table's 
+SMS_BEARER field. The update is done when the Service settings are stored into 
+the message store using CSmsSettings::StoreL().
+
+The default setting is for the comms db not to be updated - TSmsSettingsCommDbAction::ENone.
+
+@param	aSmsBearerAction
+The SMS bearer action.
+
+@see	CSmsSettings::TSmsSettingsCommDbAction
+@see	CSmsSettings::StoreL
+*/
+inline void CSmsSettings::SetSmsBearerAction(CSmsSettings::TSmsSettingsCommDbAction aSmsBearerAction)
+	{
+	iSmsBearerAction = aSmsBearerAction;
+	}
+
+/**
+Gets the SMS bearer action.
+
+For details, see CSmsSettings::SetCommDbAction().
+
+@return The SMS bearer action. 
+
+@see	CSmsSettings::TSmsSettingsCommDbAction
+@see	CSmsSettings::SetSmsBearerAction
+*/
+inline CSmsSettings::TSmsSettingsCommDbAction CSmsSettings::SmsBearerAction() const
+	{
+	return iSmsBearerAction;
+	}
+
+/**
+Sets the SMS bearer.
+
+@param	aSmsBearer
+The SMS bearer.
+*/
+inline void CSmsSettings::SetSmsBearer(CSmsSettings::TMobileSmsBearer aSmsBearer)
+	{
+	iSmsBearer = aSmsBearer;
+	}
+
+/**
+Gets the SMS bearer.
+
+@return
+The SMS bearer.
+*/
+inline CSmsSettings::TMobileSmsBearer CSmsSettings::SmsBearer() const
+	{
+	return iSmsBearer;
+	}
+
+/**
+Sets the folder ID into which received class 2 SMS-DELIVER messages are stored.
+
+@param	aId
+The folder ID for received class 2 messages.
+*/
+inline void CSmsSettings::SetClass2Folder(TMsvId aId)
+	{
+	iClass2Folder = aId;
+	}
+
+/**
+Gets the folder ID into which received class 2 SMS-DELIVER messages are stored.
+
+@return
+The class 2 folder ID.
+*/
+inline TMsvId CSmsSettings::Class2Folder() const
+	{
+	return iClass2Folder;
+	}
+
+/**
+Sets the maximum length of the message entry description.
+
+The default value is given by KSmsDescriptionLength.
+
+@param	aDescriptionLength
+The maximum length.
+
+@see	KSmsDescriptionLength
+*/
+inline void CSmsSettings::SetDescriptionLength(TInt aDescriptionLength)
+	{
+	iDescriptionLength = aDescriptionLength;
+	}
+
+/**
+Gets the maximum length of the message entry description.
+
+@return
+The maximum length of the message entry description.
+
+@see	KSmsDescriptionLength
+*/
+inline TInt CSmsSettings::DescriptionLength() const
+	{
+	return iDescriptionLength;
+	}
+
+/**
+Gets the ID by which to identify the SMS-DELIVER message PDU for this recipient.
+
+@return	
+The log ID for this recipient.
+*/
+inline TLogId CSmsNumber::LogId() const
+	{
+	return iLogId;
+	}
+
+/** 
+Sets the ID by which to identify the SMS-DELIVER message PDU for this recipient.
+
+@param	aLogId	
+The log ID for this recipient.
+*/
+inline void CSmsNumber::SetLogId(TLogId aLogId)
+	{
+	iLogId = aLogId;
+	}
+
+/**
+Tests if a status report (TP-SRR in GSM spec 03.40) for the last segment will be requested from 
+the Service Centre.
+
+A value of ETrue indicates that a status report will be requested for the last segment.
+
+@return	
+The value of the Status report flag only for the last segment.
+*/
+
+inline TBool CSmsMessageSettings::LastSegmentDeliveryReport() const
+	{
+	return iMsgFlags & ESmsSettingsLastSegmentDeliveryReport;
+	}
+
+/** 
+Sets if a status report (TP-SRR in GSM spec 03.40) for the last segment will be requested from the
+Service Centre.
+
+A value of ETrue indicates that a status report will be requested for the last segment.
+
+@param	aDeliveryReport	
+The value of the status report flagfor the last segment.
+*/
+
+inline void CSmsMessageSettings::SetLastSegmentDeliveryReport(TBool aDeliveryReport)
+	{
+	iMsgFlags = (iMsgFlags & ~ESmsSettingsLastSegmentDeliveryReport) | (aDeliveryReport?ESmsSettingsLastSegmentDeliveryReport : ENoSmsSettingsLastSegmentDeliveryReport);
+	}