epoc32/include/smutset.inl
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #include <smcmmain.h>
    17 #include <smut.h>
    18 
    19 /** 
    20 Constructor.
    21 
    22 @param	aType	
    23 The type of operation for which progress information is being given.
    24 */
    25 inline TSmsProgress::TSmsProgress(TSmsProgressType aType)
    26 :	iError(KErrNone),
    27 	iType(aType),
    28 	iState(0),
    29 	iRcpDone(0),
    30 	iRcpCount(0),
    31 	iMsgDone(0),
    32 	iMsgCount(0),
    33 	iEnumerateFolder(0)
    34 	{
    35 	iServiceCenterAddress.Zero();
    36 	}
    37 
    38 /** 
    39 Gets the validity period for messages sent by the SMS MTM.
    40 
    41 If the service centre is unable to deliver the SMS message before this time 
    42 expires, a failure report may be generated by the service centre, and no further 
    43 attempts will be made to deliver the message to ther recipient.
    44 
    45 Validity period is only used for SMS-SUBMIT, mobile originated messages.
    46 
    47 @return
    48 The validity period of the message.
    49 */
    50 inline const TTimeIntervalMinutes& CSmsMessageSettings::ValidityPeriod() const
    51 	{
    52 	return iValidityPeriod;
    53 	}
    54 
    55 /** 
    56 Sets the validity period for messages sent by the SMS MTM.
    57 
    58 @param	aValidityPeriod	
    59 The validity period.
    60 
    61 @panic	SMCM	8	
    62 The validity period is negative or greater than the maximum validity period
    63 (debug only).
    64 */
    65 inline void CSmsMessageSettings::SetValidityPeriod(TTimeIntervalMinutes aValidityPeriod)
    66 	{
    67 	__ASSERT_DEBUG(aValidityPeriod.Int()>=0 && aValidityPeriod.Int()<=ESmsVPMaximum,Panic(ESmscVPOutOfRange));
    68 	iValidityPeriod=aValidityPeriod;
    69 	}
    70 
    71 /**
    72 Gets the values of the UI concatenated-SMS-allowed flag.
    73 
    74 If true, the UI should pass a long message in one piece to the MTM. If false, 
    75 it should split the message manually into 140 byte parts. The value of this 
    76 flag does not affect the behaviour of the SMS MTM.
    77 
    78 @return	
    79 The concatenated-SMS-allowed flag.
    80 */
    81 inline TBool CSmsMessageSettings::CanConcatenate() const
    82 	{
    83 	return iMsgFlags&ESmsSettingsCanConcatenate;
    84 	}
    85 
    86 /** 
    87 Sets the values of the UI concatenated-SMS-allowed flag.
    88 
    89 If true, the UI should pass a long message in one piece to the MTM. If false, 
    90 it should split the message manually into 140 byte parts. The value of this 
    91 flag does not affect the behaviour of the SMS MTM.
    92 
    93 @param	aCanConcatenate	
    94 The value to set the concatenated-SMS-allowed flag to.
    95 */
    96 inline void CSmsMessageSettings::SetCanConcatenate(TBool aCanConcatenate)
    97 	{
    98 	iMsgFlags = (iMsgFlags & ~ESmsSettingsCanConcatenate) | (aCanConcatenate?ESmsSettingsCanConcatenate : ESmsSettingsNoFlags);
    99 	}
   100 
   101 /**
   102 Gets the value of the reject-duplicate setting.
   103 
   104 If this is true, the service instructs the SC to reject an Sms-Submit for an 
   105 SMS still held in the SC that has the same message reference number and same 
   106 destination address as an previously submitted SMS from the same originating 
   107 address.
   108 
   109 @return	
   110 The value of the reject-duplicate setting.
   111 */
   112 inline TBool CSmsMessageSettings::RejectDuplicate() const
   113 	{	
   114 	return iMsgFlags&ESmsSettingsRejectDuplicate;
   115 	}
   116 
   117 /**
   118 Sets the value of the reject-duplicate setting.
   119 
   120 @param	aRejectDuplicate	
   121 The value to set the reject-duplicate setting to.
   122 */
   123 inline void CSmsMessageSettings::SetRejectDuplicate(TBool aRejectDuplicate)
   124 	{
   125 	iMsgFlags = (iMsgFlags & ~ESmsSettingsRejectDuplicate) | (aRejectDuplicate?ESmsSettingsRejectDuplicate : ESmsSettingsNoFlags);
   126 	}
   127 
   128 /**
   129 Tests if a status report (TP-SRR in GSM spec 03.40) will be requested from 
   130 the Service Centre.
   131 
   132 A value of ETrue indicates that a status report will be requested.
   133 
   134 @return	
   135 The value of the Status report flag.
   136 */
   137 inline TBool CSmsMessageSettings::DeliveryReport() const
   138 	{
   139 	return iMsgFlags&ESmsSettingsDeliveryReport;
   140 	}
   141 
   142 /** 
   143 Sets if a status report (TP-SRR in GSM spec 03.40) will be requested from the
   144 Service Centre.
   145 
   146 A value of ETrue indicates that a status report will be requested.
   147 
   148 @param	aDeliveryReport	
   149 The value of the status report flag.
   150 */
   151 inline void CSmsMessageSettings::SetDeliveryReport(TBool aDeliveryReport)
   152 	{
   153 	iMsgFlags = (iMsgFlags & ~ESmsSettingsDeliveryReport) | (aDeliveryReport?ESmsSettingsDeliveryReport : ESmsSettingsNoFlags);
   154 	}
   155 
   156 /**
   157 Gets the boolean flag that indicates whether a the reply path (Service Centre
   158 address) should be included in the SMS-SUBMIT message (TP-RP in GSM spec 03.40).
   159 
   160 A value of ETrue indicates that the Service Centre address should be included.
   161 This flag is only relavent for SMS-SUBMIT messages.
   162 
   163 @return
   164 The value of the reply path flag.
   165 */
   166 
   167 inline TBool CSmsMessageSettings::ReplyPath() const
   168 	{
   169 	return iMsgFlags&ESmsSettingsReplyPathRequested;
   170 	}
   171 
   172 /**
   173 Sets the boolean flag that indicates whether a the reply path (Service Centre
   174 address) should be included in the SMS-SUBMIT message (TP-RP in GSM spec 03.40).
   175 
   176 A value of ETrue indicates that the Service Centre address should be included.
   177 This flag is only relavent for SMS-SUBMIT messages.
   178 
   179 @param   aReplyPathRequest
   180 The value of the reply path flag.
   181 */
   182 inline void CSmsMessageSettings::SetReplyPath(TBool aReplyPathRequest)
   183 	{
   184 	iMsgFlags = (iMsgFlags & ~ESmsSettingsReplyPathRequested) | (aReplyPathRequest?ESmsSettingsReplyPathRequested : ESmsSettingsNoFlags);
   185 	}
   186 
   187 /**
   188 Gets the form in which the message should be delivered to the recipient by 
   189 the service centre. 
   190 
   191 Note that the form may or may not actually be supported by the service centre, 
   192 and that the format of the recipient address(es) may need to be different 
   193 to a normal telephone number if MessageConversion() is set to any other value 
   194 than ESmsConvPIDNone, ESmsConvFax, ESmsConvPaging or ESmsConvErmes.
   195 
   196 @return
   197 The value of the message form specifier.
   198 */
   199 inline TSmsPIDConversion CSmsMessageSettings::MessageConversion() const
   200 	{
   201 	return iMessageConversion;
   202 	}
   203 
   204 /**
   205 Sets the form in which the message should be delivered to the recipient by the
   206 Service Centre. 
   207 
   208 Note that the form may or may not actually be supported by the service centre, 
   209 and that the format of the recipient address(es) may need to be different 
   210 to a normal telephone number if MessageConversion() is set to any other value 
   211 than ESmsConvPIDNone, ESmsConvFax, ESmsConvPaging or ESmsConvErmes.
   212 
   213 
   214 @param	aMessageConversion
   215 The message form specifier.
   216 */
   217 inline void CSmsMessageSettings::SetMessageConversion(TSmsPIDConversion aMessageConversion)
   218 	{
   219 	iMessageConversion=aMessageConversion;
   220 	}
   221 
   222 /** 
   223 Gets the default character set used in the SMS message. 
   224 
   225 Text is stored in Unicode on the Symbian OS phone and is converted into the 
   226 appropriate character set when the message is sent.
   227 
   228 @return
   229 The default character set for the message.
   230 */
   231 inline TSmsDataCodingScheme::TSmsAlphabet CSmsMessageSettings::CharacterSet() const
   232 	{
   233 	return iAlphabet;
   234 	}
   235 
   236 /**
   237 Sets the default character set used in the SMS message.
   238 
   239 Text is stored in Unicode on the Symbian OS phone and is converted into the 
   240 appropriate character set when the message is sent.
   241 
   242 @param	aAlphabet
   243 The value of the default character set for the message.
   244 */
   245 inline void CSmsMessageSettings::SetCharacterSet(TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
   246 	{
   247 	iAlphabet=aAlphabet;
   248 	}
   249 
   250 /**
   251 Sets the format in which the validity period should be sent in a SMS-DELIVER 
   252 type message.
   253 
   254 This is field TP-VPF from GSM spec 03.40.
   255 
   256 @param	aValidityPeriodFormat
   257 The validity period format.
   258 */
   259 inline void CSmsMessageSettings::SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat)
   260 	{
   261 	iValidityPeriodFormat = aValidityPeriodFormat;
   262 	}
   263 
   264 /** 
   265 Gets the format in which the validity period should be sent in a SMS-DELIVER
   266 type message.
   267 
   268 @return
   269 The validity period format.
   270 */
   271 inline const TSmsFirstOctet::TSmsValidityPeriodFormat CSmsMessageSettings::ValidityPeriodFormat() const
   272 	{
   273 	return iValidityPeriodFormat;
   274 	}
   275 
   276 /**
   277 Sets the flag which indicates whether the service center timestamp should
   278 be used for the date field in the TMsvEntry in message store. If the flag
   279 is not set, then the timestamp from the associated CSmsMessage is used.
   280 
   281 @param	aUseServiceCenterTimestamp
   282 Flag to indicate whether to use the service center timestamp
   283 */
   284 inline void CSmsMessageSettings::SetUseServiceCenterTimeStampForDate(TBool aUseServiceCenterTimestamp)
   285 	{
   286 	iMsgFlags = (iMsgFlags & ~ESmsSettingsUseServiceCenterTimeStamp) | (aUseServiceCenterTimestamp ? ESmsSettingsUseServiceCenterTimeStamp : ESmsSettingsNoFlags);
   287 	}
   288 
   289 /**
   290 Gets the flag which indicates whether the service center timestamp should
   291 be used for the date field in the TMsvEntry in message store. If the flag
   292 is not set, then the timestamp from the associated CSmsMessage is used.
   293 
   294 @return Flag which indcates if service center timestamp will be used.
   295 */
   296 inline TBool CSmsMessageSettings::UseServiceCenterTimeStampForDate() const
   297 	{
   298 	return iMsgFlags & ESmsSettingsUseServiceCenterTimeStamp;
   299 	}
   300 
   301 /**
   302 Gets whether the editor should quote the received message at the beginning of 
   303 the reply message.
   304 
   305 @return	
   306 A value of ETrue if the editor should quote the received message at the beginning
   307 of the reply. EFalse if not.
   308 */
   309 inline TBool CSmsSettings::ReplyQuoted() const
   310 	{
   311 	return iSetFlags&ESmsSettingsReplyQuoted;
   312 	}
   313 
   314 /**
   315 Sets whether the editor should quote the received message at the beginning of
   316 the reply message.
   317 
   318 @param	aReplyQuited
   319 The value to set the reply-quoted flag to.
   320 */
   321 inline void CSmsSettings::SetReplyQuoted(TBool aReplyQuoted)
   322 	{
   323 	iSetFlags = (iSetFlags & ~ESmsSettingsReplyQuoted) | (aReplyQuoted?ESmsSettingsReplyQuoted : ESmsSettingsNoFlags);
   324 	}
   325 
   326 /** 
   327 Gets the default schedule delivery type of a new message created using the SMS
   328 client MTM.
   329 
   330 @return	
   331 The schedule delivery type.
   332 */
   333 inline TSmsDelivery CSmsSettings::Delivery() const
   334 	{
   335 	return iDelivery;
   336 	}
   337 
   338 /** 
   339 Sets the default schedule delivery type of a new message created using the SMS
   340 client MTM.
   341 
   342 @param	aDelivery
   343 The schedule delivery type.
   344 */
   345 inline void CSmsSettings::SetDelivery(TSmsDelivery aDelivery)
   346 	{
   347 	iDelivery=aDelivery;
   348 	}
   349 
   350 
   351 /**
   352 Gets the way in which status reports that are received by the watcher are handled.
   353 
   354 By default, this is EDoNotWatchForReport. This value is not supported and 
   355 therefore the value must be changed from the default.
   356 
   357 @return
   358 How SMS status reports are handled.
   359 
   360 @see	CSmsSettings::TSmsReportHandling
   361 */
   362 inline CSmsSettings::TSmsReportHandling CSmsSettings::StatusReportHandling() const
   363 	{
   364 	return iStatusReportHandling;
   365 	}
   366 
   367 /**
   368 Sets the way in which status reports that are received by the watcher are handled.
   369 
   370 @param	aStatusReportHandling
   371 The SMS status report handling data.
   372 
   373 @see	CSmsSettings::TSmsReportHandling
   374 */
   375 inline void CSmsSettings::SetStatusReportHandling(CSmsSettings::TSmsReportHandling aStatusReportHandling)
   376 	{
   377 	iStatusReportHandling = aStatusReportHandling;
   378 	}
   379 
   380 /**
   381 Gets the way in which special messages that are received by the watcher are 
   382 handled. 
   383 
   384 By default, this is EDoNotWatchForReport. This value is not supported and 
   385 therefore the value must be changed from the default.
   386 
   387 @return
   388 How special messages are handled.
   389 
   390 @see	CSmsSettings::TSmsReportHandling
   391 */
   392 inline CSmsSettings::TSmsReportHandling CSmsSettings::SpecialMessageHandling() const
   393 	{
   394 	return iSpecialMessageHandling;
   395 	}
   396 
   397 /**
   398 Sets the way in which special messages that are received by the watcher are 
   399 handled.
   400 
   401 @param	aSpecialMessageHandling
   402 The special messages handling data.
   403 
   404 @see	CSmsSettings::TSmsReportHandling
   405 */
   406 inline void CSmsSettings::SetSpecialMessageHandling(CSmsSettings::TSmsReportHandling aSpecialMessageHandling)
   407 	{
   408 	iSpecialMessageHandling = aSpecialMessageHandling;
   409 	}
   410 
   411 /**
   412 Sets whether the Service settings should be used to update the communications 
   413 database.
   414 
   415 If set, this uses the service settings to update the comms db MODEM table's 
   416 MODEM_MESSAGE_CENTRE_NUMBER, MODEM_MESSAGE_VALIDITY_PERIOD and 
   417 MODEM_MESSAGE_DELIVERY_REPORT fields. The update is done when the Service 
   418 settings are stored into the message store using CSmsSettings::StoreL().
   419 
   420 The default setting is for the comms db not to be updated - TSmsSettingsCommDbAction::ENone.
   421 
   422 @param	aCommDbAction
   423 The communications database action.
   424 
   425 @see	CSmsSettings::TSmsSettingsCommDbAction
   426 @see	CSmsSettings::StoreL
   427 */
   428 inline void CSmsSettings::SetCommDbAction(CSmsSettings::TSmsSettingsCommDbAction aCommDbAction)
   429 	{
   430 	iCommDbAction = aCommDbAction;
   431 	}
   432 
   433 /**
   434 Gets the communications database action.
   435 
   436 For details, see CSmsSettings::SetCommDbAction().
   437 
   438 @return
   439 The communications database action.
   440 
   441 @see	CSmsSettings::TSmsSettingsCommDbAction
   442 @see	CSmsSettings::SetCommDbAction
   443 */
   444 inline CSmsSettings::TSmsSettingsCommDbAction CSmsSettings::CommDbAction() const
   445 	{
   446 	return iCommDbAction;
   447 	}
   448 
   449 /**
   450 Sets whether the Service's SMS bearer setting should be used to update the 
   451 communications database.
   452 
   453 If set, this uses the service setting to update the comm db global table's 
   454 SMS_BEARER field. The update is done when the Service settings are stored into 
   455 the message store using CSmsSettings::StoreL().
   456 
   457 The default setting is for the comms db not to be updated - TSmsSettingsCommDbAction::ENone.
   458 
   459 @param	aSmsBearerAction
   460 The SMS bearer action.
   461 
   462 @see	CSmsSettings::TSmsSettingsCommDbAction
   463 @see	CSmsSettings::StoreL
   464 */
   465 inline void CSmsSettings::SetSmsBearerAction(CSmsSettings::TSmsSettingsCommDbAction aSmsBearerAction)
   466 	{
   467 	iSmsBearerAction = aSmsBearerAction;
   468 	}
   469 
   470 /**
   471 Gets the SMS bearer action.
   472 
   473 For details, see CSmsSettings::SetCommDbAction().
   474 
   475 @return The SMS bearer action. 
   476 
   477 @see	CSmsSettings::TSmsSettingsCommDbAction
   478 @see	CSmsSettings::SetSmsBearerAction
   479 */
   480 inline CSmsSettings::TSmsSettingsCommDbAction CSmsSettings::SmsBearerAction() const
   481 	{
   482 	return iSmsBearerAction;
   483 	}
   484 
   485 /**
   486 Sets the SMS bearer.
   487 
   488 @param	aSmsBearer
   489 The SMS bearer.
   490 */
   491 inline void CSmsSettings::SetSmsBearer(CSmsSettings::TMobileSmsBearer aSmsBearer)
   492 	{
   493 	iSmsBearer = aSmsBearer;
   494 	}
   495 
   496 /**
   497 Gets the SMS bearer.
   498 
   499 @return
   500 The SMS bearer.
   501 */
   502 inline CSmsSettings::TMobileSmsBearer CSmsSettings::SmsBearer() const
   503 	{
   504 	return iSmsBearer;
   505 	}
   506 
   507 /**
   508 Sets the folder ID into which received class 2 SMS-DELIVER messages are stored.
   509 
   510 @param	aId
   511 The folder ID for received class 2 messages.
   512 */
   513 inline void CSmsSettings::SetClass2Folder(TMsvId aId)
   514 	{
   515 	iClass2Folder = aId;
   516 	}
   517 
   518 /**
   519 Gets the folder ID into which received class 2 SMS-DELIVER messages are stored.
   520 
   521 @return
   522 The class 2 folder ID.
   523 */
   524 inline TMsvId CSmsSettings::Class2Folder() const
   525 	{
   526 	return iClass2Folder;
   527 	}
   528 
   529 /**
   530 Sets the maximum length of the message entry description.
   531 
   532 The default value is given by KSmsDescriptionLength.
   533 
   534 @param	aDescriptionLength
   535 The maximum length.
   536 
   537 @see	KSmsDescriptionLength
   538 */
   539 inline void CSmsSettings::SetDescriptionLength(TInt aDescriptionLength)
   540 	{
   541 	iDescriptionLength = aDescriptionLength;
   542 	}
   543 
   544 /**
   545 Gets the maximum length of the message entry description.
   546 
   547 @return
   548 The maximum length of the message entry description.
   549 
   550 @see	KSmsDescriptionLength
   551 */
   552 inline TInt CSmsSettings::DescriptionLength() const
   553 	{
   554 	return iDescriptionLength;
   555 	}
   556 
   557 /**
   558 Gets the ID by which to identify the SMS-DELIVER message PDU for this recipient.
   559 
   560 @return	
   561 The log ID for this recipient.
   562 */
   563 inline TLogId CSmsNumber::LogId() const
   564 	{
   565 	return iLogId;
   566 	}
   567 
   568 /** 
   569 Sets the ID by which to identify the SMS-DELIVER message PDU for this recipient.
   570 
   571 @param	aLogId	
   572 The log ID for this recipient.
   573 */
   574 inline void CSmsNumber::SetLogId(TLogId aLogId)
   575 	{
   576 	iLogId = aLogId;
   577 	}
   578 
   579 /**
   580 Tests if a status report (TP-SRR in GSM spec 03.40) for the last segment will be requested from 
   581 the Service Centre.
   582 
   583 A value of ETrue indicates that a status report will be requested for the last segment.
   584 
   585 @return	
   586 The value of the Status report flag only for the last segment.
   587 */
   588 
   589 inline TBool CSmsMessageSettings::LastSegmentDeliveryReport() const
   590 	{
   591 	return iMsgFlags & ESmsSettingsLastSegmentDeliveryReport;
   592 	}
   593 
   594 /** 
   595 Sets if a status report (TP-SRR in GSM spec 03.40) for the last segment will be requested from the
   596 Service Centre.
   597 
   598 A value of ETrue indicates that a status report will be requested for the last segment.
   599 
   600 @param	aDeliveryReport	
   601 The value of the status report flagfor the last segment.
   602 */
   603 
   604 inline void CSmsMessageSettings::SetLastSegmentDeliveryReport(TBool aDeliveryReport)
   605 	{
   606 	iMsgFlags = (iMsgFlags & ~ESmsSettingsLastSegmentDeliveryReport) | (aDeliveryReport?ESmsSettingsLastSegmentDeliveryReport : ENoSmsSettingsLastSegmentDeliveryReport);
   607 	}