1.1 --- a/epoc32/include/smutset.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,752 +0,0 @@
1.4 -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// 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
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __SMUTSET_H__
1.20 -#define __SMUTSET_H__
1.21 -
1.22 -
1.23 -
1.24 -
1.25 -#include <gsmumsg.h>
1.26 -#include <msvrcpt.h>
1.27 -#include <msvstore.h>
1.28 -#include <logwrap.h>
1.29 -
1.30 -class CSmsServiceCenter;
1.31 -class CSmsEmailFields;
1.32 -
1.33 -// Both the recipient's number and SC number (TP-Destination-Address and RP-Destination-Address)
1.34 -// can be 12 octets which means that there can be 21 characters (including + sign) in the number string.
1.35 -
1.36 -/**
1.37 -The maximum length of recipient's number.
1.38 -
1.39 -The number returned by CSmsNumber::Address() and CSmsServiceCenter::Address() is limited this maximum length.
1.40 -
1.41 -@see CSmsNumber::Address
1.42 -@see CSmsServiceCenter::Address
1.43 -
1.44 -@publishedAll
1.45 -@released
1.46 -*/
1.47 -const TInt KSmcmSmsNumberMaxNumberLength = 21;
1.48 -
1.49 -/**
1.50 -The maximum length of recipient's name.
1.51 -
1.52 -The number returned by CSmsNumber::Name() and CSmsServiceCenter::Name() is limited this maximum length.
1.53 -
1.54 -@see CSmsNumber::Name
1.55 -@see CSmsServiceCenter::Name
1.56 -
1.57 -@publishedAll
1.58 -@released
1.59 -*/
1.60 -const TInt KSmcmSmsNumberMaxNameLength = 256;
1.61 -
1.62 -/**
1.63 -Defines the possible forms in which an SMS message should be delivered to the
1.64 -recipient by the service centre.
1.65 -
1.66 -The specified format may or may not actually be supported by the service centre.
1.67 -Note that the format of the recipient address(es) may need to be different
1.68 -to a normal telephone number if the conversion is set to any other value than
1.69 -ESmsConvPIDNone, ESmsConvFax, ESmsConvPaging or ESmsConvErmes.
1.70 -
1.71 -@publishedAll
1.72 -@released
1.73 -*/
1.74 -enum TSmsPIDConversion
1.75 - {
1.76 -/**
1.77 -No conversion (i.e. use SMS itself).
1.78 -*/
1.79 - ESmsConvPIDNone = TSmsProtocolIdentifier::ESmsNoTelematicDevice,
1.80 -/**
1.81 -Convert to fax.
1.82 -*/
1.83 - ESmsConvFax = TSmsProtocolIdentifier::ESmsGroup3TeleFax,
1.84 -/**
1.85 -Convert to X.400.
1.86 -*/
1.87 - ESmsConvX400 = TSmsProtocolIdentifier::ESmsX400MessageHandlingSystem,
1.88 -/**
1.89 -Convert to pager message.
1.90 -*/
1.91 - ESmsConvPaging = TSmsProtocolIdentifier::ESmsNationalPagingSystem,
1.92 -/**
1.93 -Convert to Internet email.
1.94 -*/
1.95 - ESmsConvMail = TSmsProtocolIdentifier::ESmsInternetElectronicMail,
1.96 -/**
1.97 -Convert to ERMES paging.
1.98 -*/
1.99 - ESmsConvErmes = TSmsProtocolIdentifier::ESmsERMES,
1.100 -/**
1.101 -Convert to sppech.
1.102 -*/
1.103 - ESmsConvSpeech = TSmsProtocolIdentifier::ESmsVoiceTelephone
1.104 - };
1.105 -
1.106 -/**
1.107 -Defines the set of possible validity periods for mobile originated messages.
1.108 -
1.109 -Mobile originated messages have a PDU type of SMS-SUBMIT.
1.110 -
1.111 -@publishedAll
1.112 -@released
1.113 -*/
1.114 -enum TSmcmValidityPeriod
1.115 - {
1.116 -/**
1.117 -Validity period of an hour.
1.118 -*/
1.119 - ESmsVPHour = TSmsValidityPeriod::EHalfHourUnitInMinutes*2,
1.120 -/**
1.121 -Validity period of six hours.
1.122 -*/
1.123 - ESmsVPSixHours = TSmsValidityPeriod::EHalfHourUnitInMinutes*12,
1.124 -/**
1.125 -Validity period of 24 hours.
1.126 -*/
1.127 - ESmsVP24Hours = TSmsValidityPeriod::EOneDayUnitInMinutes,
1.128 -/**
1.129 -Validity period of a week.
1.130 -*/
1.131 - ESmsVPWeek = TSmsValidityPeriod::EOneWeekUnitInMinutes,
1.132 -/**
1.133 -The maximum validity period - currently set as 63 weeks.
1.134 -*/
1.135 - ESmsVPMaximum = TSmsValidityPeriod::EOneWeekUnitInMinutes*63,
1.136 -/**
1.137 -An enum that specifies that a validity period is not supported.
1.138 -*/
1.139 - ESmsVPNotSupported = KErrNotSupported,
1.140 -/**
1.141 -The default validy period - currently set to a week.
1.142 -*/
1.143 - ESmsVPDefault = ESmsVPWeek
1.144 - };
1.145 -
1.146 -/**
1.147 -Defines options for the preferred default sending schedule type of a new message
1.148 -created using the SMS client MTM.
1.149 -
1.150 -The option has no direct effect on the SMS MTM. When it is sending an SMS
1.151 -message it automatically appends other SMS messages in the outbox whose send
1.152 -states are marked as KMsvSendStatewaiting or KMsvSendSateUnknown.
1.153 -
1.154 -Therefore it is the responsibility of the messaging client to set the correct
1.155 -send state of new SMS messages correctly given the preferred sending schedule.
1.156 -
1.157 -@publishedAll
1.158 -@released
1.159 -*/
1.160 -enum TSmsDelivery
1.161 - {
1.162 -/**
1.163 -Send message immediately. The message send state should be set to KMsvSendStateWaiting.
1.164 -*/
1.165 - ESmsDeliveryImmediately,
1.166 -/**
1.167 -Send message when client requests. The message send state should be set to KMsvSendStateUponRequest.
1.168 -*/
1.169 - ESmsDeliveryUponRequest,
1.170 -/**
1.171 -Send message at scheduled time. The message send state should be set to KMsvSendStateScheduled.
1.172 -*/
1.173 - ESmsDeliveryScheduled
1.174 - };
1.175 -
1.176 -/**
1.177 -Defines the flags and masks for some of the message settings.
1.178 -
1.179 -The settings classes CSmsMessageSettings and CSmsSettings use these flags to
1.180 -store the specified information.
1.181 -
1.182 -@internalComponent
1.183 -@released
1.184 -*/
1.185 -enum TSmsSettingsFlags
1.186 - {
1.187 -/**
1.188 -Mask that resets the flags.
1.189 -*/
1.190 - ESmsSettingsNoFlags =0,
1.191 -/**
1.192 -Flag that indicates if messages can be concatenated.
1.193 -
1.194 -If true, the UI should pass a long message in one piece to the MTM. If false,
1.195 -it should split the message manually into 140 byte parts. The value of this
1.196 -flag does not affect the behaviour of the SMS MTM.
1.197 -*/
1.198 - ESmsSettingsCanConcatenate =0x00000001,
1.199 -/**
1.200 -Flag that indicates whether the original message should be included in relpy
1.201 -messages.
1.202 -
1.203 -If true, the received message should be quoted at the beginning of the reply
1.204 -message. If false, reply messages should be initially empty.
1.205 -*/
1.206 - ESmsSettingsReplyQuoted =0x00000002,
1.207 -/**
1.208 -Flag that indicates whether duplicate messages should be rejected.
1.209 -*/
1.210 - ESmsSettingsRejectDuplicate =0x00000004,
1.211 -/**
1.212 -Flag that indicates if a status report (TP-SRR in GSM spec 03.40) should be
1.213 -requested from the Service Centre.
1.214 -*/
1.215 - ESmsSettingsDeliveryReport =0x00000008,
1.216 -/**
1.217 -Flag that indicates if the reply path (Service Centre address) should be included
1.218 -in the delivered message (TP-RP in GSM spec 03.40).
1.219 -*/
1.220 - ESmsSettingsReplyPathRequested =0x00000010,
1.221 -/**
1.222 -Flag that indicates if a status report (TP-SRR in GSM spec 03.40) for the last segment
1.223 -should be requested from the Service Centre.
1.224 -*/
1.225 - ESmsSettingsLastSegmentDeliveryReport =0x00000020 ,
1.226 -
1.227 -/**
1.228 -Flag that indicates if a status report (TP-SRR in GSM spec 03.40) for the last segment
1.229 -is not requested from the Service Centre.
1.230 -*/
1.231 - ENoSmsSettingsLastSegmentDeliveryReport =0x00000040,
1.232 -/**
1.233 -Flag that indicates that the service center time stamp should be used for the date
1.234 -field in any TMsvEntry that corresponds to a SMS message.
1.235 -*/
1.236 - ESmsSettingsUseServiceCenterTimeStamp =0x00000080,
1.237 -/**
1.238 -Mask for the set of flags defined.
1.239 -*/
1.240 - ESmsSettingsMask =0x000000FF,
1.241 - };
1.242 -
1.243 -
1.244 -/**
1.245 -Defines the types of acknowledgements that can be received from recipients.
1.246 -*/
1.247 -enum TSmsAckType
1.248 - {
1.249 -/**
1.250 -Acknowlwdgement of delivery to a recipient.
1.251 -*/
1.252 - ESmsAckTypeDelivery =0
1.253 - };
1.254 -
1.255 -/**
1.256 -Progress information for SMS MTM operations.
1.257 -
1.258 -This information is returned by CMsvOperation::ProgressL() in a TSmsProgressBuf
1.259 -package.
1.260 -
1.261 -@see CMsvOperation::ProgressL
1.262 -
1.263 -@publishedAll
1.264 -@released
1.265 -*/
1.266 -class TSmsProgress
1.267 - {
1.268 -public:
1.269 -/**
1.270 -Defines type of operation for which progress information is being given.
1.271 -
1.272 -These types correspond to the commands defined in TSmsMtmCommand.
1.273 -
1.274 -@see TSmsMtmCommand
1.275 -*/
1.276 - enum TSmsProgressType
1.277 - {
1.278 -/**
1.279 -The default operation type - no operation.
1.280 -*/
1.281 - ESmsProgressTypeDefault,
1.282 -/**
1.283 -Reading SIM parameters.
1.284 -
1.285 -Pre v7.0, this was named ESmsProgressTypeReadingServiceCenterAddress.
1.286 -*/
1.287 - ESmsProgressTypeReadSimParams,
1.288 -/**
1.289 -Writing SIM parameters.
1.290 -
1.291 -Pre v7.0 this was named ESmsProgressTypeWritingServiceCenterAddress.
1.292 -*/
1.293 - ESmsProgressTypeWriteSimParams,
1.294 -/**
1.295 -Sending messages.
1.296 -*/
1.297 - ESmsProgressTypeSending,
1.298 -/**
1.299 -Scheduling sending messages.
1.300 -*/
1.301 - ESmsProgressTypeScheduling,
1.302 -/**
1.303 -Enumerating phone stores.
1.304 -
1.305 -Pre v7.0, this was named ESmsProgressTypeEnumeratingSim.
1.306 -*/
1.307 - ESmsProgressTypeEnumeratingPhoneStores,
1.308 -/**
1.309 -Copying messages from phone stores.
1.310 -
1.311 -Pre v7.0, this was named ESmsProgressTypeCopyFromSim.
1.312 -*/
1.313 - ESmsProgressTypeCopyFromPhoneStore,
1.314 -/**
1.315 -Moving messages from phone stores.
1.316 -
1.317 -Pre v7.0, this was named ESmsProgressTypeMoveFromSim.
1.318 -*/
1.319 - ESmsProgressTypeMoveFromPhoneStore,
1.320 -/**
1.321 -Deleting messages from phone stores.
1.322 -
1.323 -Pre v7.0, this was named ESmsProgressTypeDeleteFromSim.
1.324 -*/
1.325 - ESmsProgressTypeDeleteFromPhoneStore,
1.326 -/**
1.327 -Removing all messages from the task scheduler list.
1.328 -*/
1.329 - ESmsProgressTypeDeleteSchedule,
1.330 -/**
1.331 -Checking the current scheduled status of the messages.
1.332 -*/
1.333 - ESmsProgressTypeCheckSchedule,
1.334 -/**
1.335 -Recursively deleting messages.
1.336 -*/
1.337 - ESmsProgressTypeDeleteAll,
1.338 -/**
1.339 -Copying messages to a phone store.
1.340 -
1.341 -Pre v7.0, this was named ESmsProgressTypeCopyToSim.
1.342 -*/
1.343 - ESmsProgressTypeCopyToPhoneStore,
1.344 -/**
1.345 -Moving messages to a phone store.
1.346 -
1.347 -Pre v7.0, this was named ESmsProgressTypeMoveToSim.
1.348 -*/
1.349 - ESmsProgressTypeMoveToPhoneStore,
1.350 -/**
1.351 -Moving message entries.
1.352 -
1.353 -This is the second part of ESmsProgressTypeMoveFromPhoneStore. The first part
1.354 -deletes the messages from the phone storageSIM. This second part moves the
1.355 -messages from the folder that represents the phone storage to the specified
1.356 -destination.
1.357 -*/
1.358 - ESmsProgressTypeMovingEntries
1.359 - };
1.360 -
1.361 - inline TSmsProgress(TSmsProgressType aType = ESmsProgressTypeDefault);
1.362 -
1.363 -public:
1.364 -
1.365 -/**
1.366 -The error code.
1.367 -*/
1.368 - TInt iError;
1.369 -/**
1.370 -The type of operation.
1.371 -
1.372 -@see TSmsProgress::TSmsProgressType
1.373 -*/
1.374 - TSmsProgressType iType;
1.375 -/**
1.376 -The state of the operation.
1.377 -*/
1.378 - TInt iState;
1.379 -/**
1.380 -The number of recipients processed so far for the current message.
1.381 -*/
1.382 - TInt iRcpDone;
1.383 -/**
1.384 -The total number of recipients in the current message.
1.385 -*/
1.386 - TInt iRcpCount;
1.387 -/**
1.388 -The nmber of messages processed so far for the current operation.
1.389 -*/
1.390 - TInt iMsgDone;
1.391 -/**
1.392 -The total number of messages for the current operation.
1.393 -*/
1.394 - TInt iMsgCount;
1.395 -/**
1.396 -The Service Centre address.
1.397 -
1.398 -This is set by the command ESmsMtmCommandReadServiceCenter.
1.399 -
1.400 -@removed
1.401 -This is no longer used since v7.0.
1.402 -*/
1.403 - TBuf<14> iServiceCenterAddress;
1.404 -/**
1.405 -The invisible folder that contains the messages read from the SIM by the command
1.406 -ESmsMtmCommandEnumeratePhoneStores.
1.407 -*/
1.408 - TMsvId iEnumerateFolder;
1.409 - };
1.410 -
1.411 -/**
1.412 -Package buffer for TSmsProgress.
1.413 -
1.414 -@see TSmsProgress
1.415 -
1.416 -@publishedAll
1.417 -@released
1.418 -*/
1.419 -typedef TPckgBuf<TSmsProgress> TSmsProgressBuf;
1.420 -
1.421 -
1.422 -/**
1.423 -The SMS settings that are relevant on a per message basis.
1.424 -
1.425 -Each SMS message has its own settings. Initially they have a default set of
1.426 -values derived from the SMS service settings. They can be changed on an
1.427 -individual message basis. For instance, a messaging application may allow a
1.428 -user to specify/not specify status reports individually for each message.
1.429 -
1.430 -These settings are only relevant to mobile originated messages - those of
1.431 -SMS-SUBMIT type.
1.432 -
1.433 -@publishedAll
1.434 -@released
1.435 -*/
1.436 -class CSmsMessageSettings : public CBase
1.437 - {
1.438 -public:
1.439 - IMPORT_C virtual void InternalizeL(RReadStream& aReadStream);
1.440 - IMPORT_C virtual void ExternalizeL(RWriteStream& aWriteStream) const;
1.441 -
1.442 - inline const TTimeIntervalMinutes& ValidityPeriod() const;
1.443 - inline void SetValidityPeriod(TTimeIntervalMinutes);
1.444 -
1.445 - inline void SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat);
1.446 - inline const TSmsFirstOctet::TSmsValidityPeriodFormat ValidityPeriodFormat() const;
1.447 -
1.448 - inline TBool RejectDuplicate() const;
1.449 - inline void SetRejectDuplicate(TBool);
1.450 -
1.451 - inline TBool DeliveryReport() const;
1.452 - inline void SetDeliveryReport(TBool);
1.453 -
1.454 - inline TBool ReplyPath() const;
1.455 - inline void SetReplyPath(TBool);
1.456 -
1.457 - inline TSmsPIDConversion MessageConversion() const;
1.458 - inline void SetMessageConversion(TSmsPIDConversion);
1.459 -
1.460 - inline TBool CanConcatenate() const;
1.461 - inline void SetCanConcatenate(TBool);
1.462 -
1.463 - inline enum TSmsDataCodingScheme::TSmsAlphabet CharacterSet() const;
1.464 - inline void SetCharacterSet(TSmsDataCodingScheme::TSmsAlphabet);
1.465 -
1.466 - IMPORT_C virtual void CopyL(const CSmsMessageSettings& aSettings);
1.467 -
1.468 - TUint32 MessageFlags() const;
1.469 - void SetMessageFlags(TUint32 aMsgFlags);
1.470 - inline TBool LastSegmentDeliveryReport() const;
1.471 - inline void SetLastSegmentDeliveryReport(TBool);
1.472 -
1.473 - inline void SetUseServiceCenterTimeStampForDate(TBool aUseServiceCenterTimestamp);
1.474 - inline TBool UseServiceCenterTimeStampForDate() const;
1.475 -
1.476 -protected:
1.477 -
1.478 - CSmsMessageSettings();
1.479 -
1.480 -private:
1.481 -
1.482 - TUint32 iMsgFlags;
1.483 - TSmsPIDConversion iMessageConversion;
1.484 - TSmsDataCodingScheme::TSmsAlphabet iAlphabet;
1.485 - TTimeIntervalMinutes iValidityPeriod;
1.486 - TSmsFirstOctet::TSmsValidityPeriodFormat iValidityPeriodFormat;
1.487 - };
1.488 -
1.489 -/**
1.490 -The SMS Service settings.
1.491 -
1.492 -An SMS service entry stores an object of this type in its message store. These
1.493 -settings define the default settings for mobile originated messages (SMS-SUBMIT
1.494 -type messages). They also provide some global settings that are applied to all
1.495 -messages, both outward going and received messages.
1.496 -
1.497 -The SMS service also uses this class to store the set of avilable Servive Centre
1.498 -numbers. The default Service Centre is defined from this set.
1.499 -
1.500 -@publishedAll
1.501 -@released
1.502 -*/
1.503 -class CSmsSettings : public CSmsMessageSettings
1.504 - {
1.505 -public:
1.506 -
1.507 -/**
1.508 -Defines the ways in which status reports that are received by the watcher may
1.509 -be handled.
1.510 -
1.511 -This can be applied to both SMS-STATUS-REPORT type messages and Special Messages
1.512 -(e.g. Voice Mail Indication messages).
1.513 -*/
1.514 - enum TSmsReportHandling
1.515 - {
1.516 -/**
1.517 -The reports are put in the inbox and made invisible.
1.518 -*/
1.519 - EMoveReportToInboxInvisible,
1.520 -/**
1.521 -The reports are put in the inbox and made visible.
1.522 -*/
1.523 - EMoveReportToInboxVisible,
1.524 -/**
1.525 -The reports are deleted.
1.526 -*/
1.527 - EDiscardReport,
1.528 -/**
1.529 -Not supported.
1.530 -*/
1.531 - EDoNotWatchForReport,
1.532 -/**
1.533 -Reports are put in the inbox and made invisible. The status report
1.534 -is matched against the sent mesasge and its summary info updated.
1.535 -*/
1.536 - EMoveReportToInboxInvisibleAndMatch,
1.537 -/**
1.538 -Reports are put in the inbox and made visible. The status report
1.539 -is matched against the sent mesasge and its summary info updated.
1.540 -*/
1.541 - EMoveReportToInboxVisibleAndMatch,
1.542 -/**
1.543 -Reports are deleted. The status report is matched against the sent
1.544 -mesasge and its summary info updated.
1.545 -*/
1.546 - EDiscardReportAndMatch
1.547 - };
1.548 -
1.549 -/**
1.550 -Sets whether the service settings should be used to update the communications
1.551 -database.
1.552 -
1.553 -If the update is specified, it is done when the Service settings are stored into
1.554 -the message store.
1.555 -*/
1.556 - enum TSmsSettingsCommDbAction
1.557 - {
1.558 -/**
1.559 -The comms database should not be updated.
1.560 -*/
1.561 - ENone,
1.562 -/**
1.563 -Use the Service settings to update the comms datebase.
1.564 -*/
1.565 - EStoreToCommDb
1.566 - };
1.567 -
1.568 -/** Defines the SMS bearer.
1.569 -Modes: GSM */
1.570 -enum TMobileSmsBearer
1.571 - {
1.572 - /** SMS messages will only be sent over a packet-switched (GPRS) network. */
1.573 - ESmsBearerPacketOnly,
1.574 - /** SMS messages will only be sent over a circuit-switched (GSM) network. */
1.575 - ESmsBearerCircuitOnly,
1.576 - /** SMS messages will be sent over the packet-switched (GPRS) network if possible,
1.577 - otherwise over circuit-switched (GSM) network. */
1.578 - ESmsBearerPacketPreferred,
1.579 - /** SMS messages will be sent over the circuit-switched (GSM) network if possible,
1.580 - otherwise over packet-switched (GPRS) network. */
1.581 - ESmsBearerCircuitPreferred
1.582 - };
1.583 -
1.584 -public:
1.585 -
1.586 - IMPORT_C static CSmsSettings* NewL();
1.587 - IMPORT_C static CSmsSettings* NewLC();
1.588 - IMPORT_C virtual ~CSmsSettings();
1.589 -
1.590 - IMPORT_C TInt ServiceCenterCount() const;
1.591 - IMPORT_C CSmsServiceCenter& GetServiceCenter(TInt aIndex) const;
1.592 - IMPORT_C void AddServiceCenterL(const TDesC& aName,const TDesC& aNumber);
1.593 - IMPORT_C void RemoveServiceCenter(TInt aIndex);
1.594 - IMPORT_C TInt DefaultServiceCenter() const;
1.595 - IMPORT_C void SetDefaultServiceCenter(TInt aDefaultSC);
1.596 - inline TSmsDelivery Delivery() const;
1.597 - inline void SetDelivery(TSmsDelivery);
1.598 -
1.599 - inline TBool ReplyQuoted() const;
1.600 - inline void SetReplyQuoted(TBool);
1.601 -
1.602 - IMPORT_C void CopyL(const CSmsSettings& aSmsSettings);
1.603 -
1.604 - inline TSmsReportHandling StatusReportHandling() const;
1.605 - inline void SetStatusReportHandling(TSmsReportHandling aStatusReportHandling);
1.606 - inline TSmsReportHandling SpecialMessageHandling() const;
1.607 - inline void SetSpecialMessageHandling(TSmsReportHandling aSpecialMessageHandling);
1.608 -
1.609 - inline void SetCommDbAction(TSmsSettingsCommDbAction aCommDbAction);
1.610 - inline TSmsSettingsCommDbAction CommDbAction() const;
1.611 -
1.612 - inline void SetSmsBearerAction(TSmsSettingsCommDbAction aSmsBearerAction);
1.613 - inline TSmsSettingsCommDbAction SmsBearerAction() const;
1.614 -
1.615 - inline void SetSmsBearer(TMobileSmsBearer aSmsBearer);
1.616 - inline TMobileSmsBearer SmsBearer() const;
1.617 -
1.618 - inline void SetClass2Folder(TMsvId aId);
1.619 - inline TMsvId Class2Folder() const;
1.620 -
1.621 - inline void SetDescriptionLength(TInt aLength);
1.622 - inline TInt DescriptionLength() const;
1.623 -
1.624 - TUint32 SettingsFlags() const;
1.625 - void SetSettingsFlags(TUint32 aSetFlags);
1.626 -
1.627 - void RemoveSCAddresses();
1.628 - void StoreToCommDbL() const;
1.629 -
1.630 -private:
1.631 -
1.632 - CSmsSettings();
1.633 - void ConstructL();
1.634 -
1.635 -private:
1.636 -
1.637 - TUint32 iSetFlags;
1.638 - CArrayPtrFlat<CSmsServiceCenter> *iServiceCenters;
1.639 - TSmsDelivery iDelivery;
1.640 - TInt iDefaultSC;
1.641 - TSmsReportHandling iStatusReportHandling;
1.642 - TSmsReportHandling iSpecialMessageHandling;
1.643 - TSmsSettingsCommDbAction iCommDbAction;
1.644 - TSmsSettingsCommDbAction iSmsBearerAction;
1.645 - TMobileSmsBearer iSmsBearer;
1.646 - TMsvId iClass2Folder;
1.647 - TInt iDescriptionLength;
1.648 - };
1.649 -
1.650 -/**
1.651 -Recipient information for an SMS message.
1.652 -
1.653 -A SMS-SUBMIT message may have several recipients
1.654 -
1.655 -@publishedAll
1.656 -@released
1.657 -*/
1.658 -class CSmsNumber : public CMsvRecipient
1.659 - {
1.660 -public:
1.661 -
1.662 -/**
1.663 -Defines the status of an acknowledgement for a recipient.
1.664 -*/
1.665 - enum TSmsAckStatus
1.666 - {
1.667 -/**
1.668 -An acknowledgement for this recipient has not been requested.
1.669 -*/
1.670 - ENoAckRequested = 0,
1.671 -/**
1.672 -The delivery status for this recipient has been requested, but the status report
1.673 -has not yet been received.
1.674 -*/
1.675 - EPendingAck,
1.676 -/**
1.677 -A successful acknowledgement for this recipient has been received.
1.678 -*/
1.679 - EAckSuccessful,
1.680 -/**
1.681 -A failed acknowledgement for this recipient has been received.
1.682 -*/
1.683 - EAckError
1.684 - };
1.685 -
1.686 -public:
1.687 -
1.688 - IMPORT_C static CSmsNumber* NewL();
1.689 - IMPORT_C static CSmsNumber* NewL(const CSmsNumber& aSmsNumber);
1.690 - IMPORT_C virtual ~CSmsNumber();
1.691 -
1.692 - IMPORT_C void InternalizeL(RReadStream& aStream);
1.693 - IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
1.694 -
1.695 - IMPORT_C TPtrC Address() const;
1.696 - IMPORT_C void SetAddressL(const TDesC& aAddress);
1.697 - void SetEmailAddressL(const TDesC& aAddress, CSmsEmailFields* aEmailFields, const TDesC& aAlias);
1.698 -
1.699 - IMPORT_C TPtrC Name() const;
1.700 - IMPORT_C void SetNameL(const TDesC& aName);
1.701 -
1.702 - inline TLogId LogId() const;
1.703 - inline void SetLogId(TLogId aLogId);
1.704 -
1.705 - IMPORT_C CSmsNumber& CopyL(const CSmsNumber& aSmsNumber);
1.706 -
1.707 - IMPORT_C TSmsAckStatus AckStatus(TSmsAckType aAckType) const;
1.708 - IMPORT_C void SetAckStatus(TSmsAckType aAckType, TSmsAckStatus aAckStatus);
1.709 -
1.710 -private:
1.711 -
1.712 - CSmsNumber();
1.713 - TPtrC LimitStringSize(const TPtrC& aString, TInt aMaxLength) const;
1.714 -
1.715 -private:
1.716 -
1.717 - HBufC* iNumber;
1.718 - HBufC* iName;
1.719 - TLogId iLogId;
1.720 - TSmsAckStatus iDeliveryStatus;
1.721 - };
1.722 -
1.723 -/**
1.724 -Used to store Service Centre numbers and their associated name.
1.725 -
1.726 -@publishedAll
1.727 -@released
1.728 -*/
1.729 -class CSmsServiceCenter : public CBase
1.730 - {
1.731 -public:
1.732 - IMPORT_C static CSmsServiceCenter* NewL();
1.733 - IMPORT_C static CSmsServiceCenter* NewL(const CSmsServiceCenter& aSmsSC);
1.734 - IMPORT_C ~CSmsServiceCenter();
1.735 -
1.736 - IMPORT_C TPtrC Address() const;
1.737 - IMPORT_C void SetAddressL(const TDesC& aAddress);
1.738 -
1.739 - IMPORT_C TPtrC Name() const;
1.740 - IMPORT_C void SetNameL(const TDesC& aName);
1.741 -
1.742 - IMPORT_C CSmsServiceCenter& CopyL(const CSmsServiceCenter& aSmsSc);
1.743 -
1.744 -private:
1.745 - CSmsServiceCenter();
1.746 - TPtrC LimitStringSize(const TPtrC& aString, TInt aMaxLength) const;
1.747 -
1.748 -private:
1.749 - HBufC* iNumber;
1.750 - HBufC* iName;
1.751 - };
1.752 -
1.753 -#include <smutset.inl>
1.754 -
1.755 -#endif // __SMUTSET_H__