diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/smutset.inl --- 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 +#include + +/** +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); + }