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