williamr@2
|
1 |
/*
|
williamr@2
|
2 |
* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
3 |
* All rights reserved.
|
williamr@2
|
4 |
* This component and the accompanying materials are made available
|
williamr@4
|
5 |
* under the terms of "Eclipse Public License v1.0"
|
williamr@2
|
6 |
* which accompanies this distribution, and is available
|
williamr@4
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
williamr@2
|
8 |
*
|
williamr@2
|
9 |
* Initial Contributors:
|
williamr@2
|
10 |
* Nokia Corporation - initial contribution.
|
williamr@2
|
11 |
*
|
williamr@2
|
12 |
* Contributors:
|
williamr@2
|
13 |
*
|
williamr@2
|
14 |
* Description:
|
williamr@2
|
15 |
* Miscellaneous constants needed by MmsEngine and its clients
|
williamr@2
|
16 |
* (e.g. MCE and DeviceManagement)
|
williamr@2
|
17 |
*
|
williamr@2
|
18 |
*/
|
williamr@2
|
19 |
|
williamr@2
|
20 |
|
williamr@2
|
21 |
|
williamr@2
|
22 |
#ifndef MMSCONST_H
|
williamr@2
|
23 |
#define MMSCONST_H
|
williamr@2
|
24 |
|
williamr@2
|
25 |
// INCLUDES
|
williamr@2
|
26 |
#include <msvuids.h>
|
williamr@2
|
27 |
#include <msvstd.hrh>
|
williamr@2
|
28 |
#include <e32std.h>
|
williamr@2
|
29 |
#include <cmsvrecipientlist.h>
|
williamr@2
|
30 |
|
williamr@2
|
31 |
// CONSTANTS
|
williamr@2
|
32 |
|
williamr@2
|
33 |
// NOTE: January = 0! 1st day of month = 0!
|
williamr@2
|
34 |
_LIT( KMmsYear1970String, "19700000:000000.000000" );
|
williamr@2
|
35 |
|
williamr@2
|
36 |
// <DEPRECATED>
|
williamr@2
|
37 |
// This is the resource file that contains factory values
|
williamr@2
|
38 |
// for error actions (for scheduled sending and receiving)
|
williamr@2
|
39 |
_LIT(KMmsResourceDriveAndFile, "mmsserver.rsc");
|
williamr@2
|
40 |
// </DEPRECATED>
|
williamr@2
|
41 |
|
williamr@2
|
42 |
_LIT(KMMSNotificationFolder, "MMSNotifications");
|
williamr@2
|
43 |
_LIT(KMmsMmboxFolder, "MmsMmbox");
|
williamr@2
|
44 |
|
williamr@2
|
45 |
// constant for conversion between seconds and microseconds
|
williamr@2
|
46 |
const TInt KMmsMillion = 1000000;
|
williamr@2
|
47 |
|
williamr@2
|
48 |
const TInt KMmsDateBufferLength = 30;
|
williamr@2
|
49 |
|
williamr@2
|
50 |
//
|
williamr@2
|
51 |
// Image size definitions - Not used by MMS engine
|
williamr@2
|
52 |
// anyone who needs image size constants, should define their own
|
williamr@2
|
53 |
//
|
williamr@2
|
54 |
//
|
williamr@2
|
55 |
// <DEPRECATED>
|
williamr@2
|
56 |
// 160*120
|
williamr@2
|
57 |
const TInt KMmsImageSmallWidth = 160;
|
williamr@2
|
58 |
const TInt KMmsImageSmallHeight = 120;
|
williamr@2
|
59 |
// 640*480
|
williamr@2
|
60 |
const TInt KMmsImageLargeWidth = 640;
|
williamr@2
|
61 |
const TInt KMmsImageLargeHeight = 480;
|
williamr@2
|
62 |
// Original
|
williamr@2
|
63 |
const TInt KMmsImageOriginalWidth = KMaxTInt;
|
williamr@2
|
64 |
const TInt KMmsImageOriginalHeight = KMaxTInt;
|
williamr@2
|
65 |
// </DEPRECATED>
|
williamr@2
|
66 |
|
williamr@2
|
67 |
// This is the extra amount of disk space that will be taken
|
williamr@2
|
68 |
// up by the index entry when creating new message entries.
|
williamr@2
|
69 |
// This is a crude estimate. It is defined here as a constant
|
williamr@2
|
70 |
// to allow it to be made more accurate by changing the value
|
williamr@2
|
71 |
// in only one place.
|
williamr@2
|
72 |
const TInt KMmsIndexEntryExtra = 80;
|
williamr@2
|
73 |
|
williamr@2
|
74 |
// This is the safety margin for fetching MMS messages.
|
williamr@2
|
75 |
// There should be at least this much extra disk space
|
williamr@2
|
76 |
// before a message can be fetched. A new message takes
|
williamr@2
|
77 |
// more disk space than the amount indicated in the
|
williamr@2
|
78 |
// notification.
|
williamr@2
|
79 |
const TInt KMmsDiskSafetyMargin = 25000;
|
williamr@2
|
80 |
|
williamr@2
|
81 |
//
|
williamr@2
|
82 |
// DLL UIDs that might be needed
|
williamr@2
|
83 |
//
|
williamr@2
|
84 |
const TUid KUidMmsServerMtm={0x100058DB};
|
williamr@2
|
85 |
const TUid KUidMmsClientMtm={0x100058DC};
|
williamr@2
|
86 |
const TUid KUidMmsClientUIMtm={0x100058DD};
|
williamr@2
|
87 |
const TUid KUidMmsClientUIDataMtm={0x100058DD};
|
williamr@2
|
88 |
// editor and viewer
|
williamr@2
|
89 |
const TInt KUidMsgMmsEditor={0x100058DE};
|
williamr@2
|
90 |
const TInt KUidMsgMmsViewer={0x100058DF};
|
williamr@2
|
91 |
|
williamr@2
|
92 |
// message types
|
williamr@2
|
93 |
const TUid KUidMsgTypeMultimedia={0x100058E1};
|
williamr@2
|
94 |
const TUid KUidMsvTechnologyGroupMMS={0x100058E2};
|
williamr@2
|
95 |
const TUid KUidMsgMMSNotification={0x100059C8};
|
williamr@2
|
96 |
|
williamr@2
|
97 |
// message subtypes
|
williamr@2
|
98 |
const TUid KUidMsgSubTypeMmsUpload={0x102072CD};
|
williamr@2
|
99 |
const TUid KUidMsgSubTypeMmsPostcard={0x102072CE};
|
williamr@2
|
100 |
const TUid KUidMsgSubTypeMmsAudioMsg={0x1020744F};
|
williamr@2
|
101 |
|
williamr@2
|
102 |
//
|
williamr@2
|
103 |
// Stream UIDs
|
williamr@2
|
104 |
//
|
williamr@2
|
105 |
// Globally unique values have been allocated to all streams
|
williamr@2
|
106 |
// MMS headers
|
williamr@2
|
107 |
const TUid KUidMmsHeaderStream={0x101FB0ED};
|
williamr@2
|
108 |
// recipient scheduling info
|
williamr@2
|
109 |
const TUid KUidMmsRecipientStream={0x101FB0EE};
|
williamr@2
|
110 |
// Notification or delivery report in binary format
|
williamr@2
|
111 |
const TUid KUidBinaryNotificationStream={0x101FB0EF};
|
williamr@2
|
112 |
// element descriptor info, only in notification
|
williamr@2
|
113 |
const TUid KUidMMsElementDescriptorStream = {0x101FB0F0};
|
williamr@2
|
114 |
// MMBox headers that can be present in several message PDUs
|
williamr@2
|
115 |
const TUid KUidMMsMMBoxMessageHeaderStream = {0x101FB0F1};
|
williamr@2
|
116 |
// MMBox headers that are present in MMBox view request and confirmation only
|
williamr@2
|
117 |
const TUid KUidMMsMMBoxViewHeadersStream = {0x101FB0F2};
|
williamr@2
|
118 |
// Extra info (message text) present in extended notification.
|
williamr@2
|
119 |
const TUid KUidMMsExtendedNotificationStream = {0x101FB0F3};
|
williamr@2
|
120 |
// Attributes for UI use
|
williamr@2
|
121 |
const TUid KUidMmsAttributeStream = {0x101FB0F4};
|
williamr@2
|
122 |
// Application id and return-to application id
|
williamr@2
|
123 |
const TUid KUidMmsApplicationInfoStream = {0x101FB0F5};
|
williamr@2
|
124 |
// Reserved for internal use
|
williamr@2
|
125 |
// This stream contains all kinds of unusual information that is rarely present
|
williamr@2
|
126 |
// These are not part of an actual message, but control the transactions.
|
williamr@2
|
127 |
// - recommended retrieval mode
|
williamr@2
|
128 |
// - recommended retrieval mode text
|
williamr@2
|
129 |
// - replace or cancel id
|
williamr@2
|
130 |
// - cancel status
|
williamr@2
|
131 |
const TUid KUidMmsReserved = {0x101FB0F6};
|
williamr@2
|
132 |
|
williamr@2
|
133 |
//
|
williamr@2
|
134 |
// Log entry event type uid (used unless Symbian allocates an id instead)
|
williamr@2
|
135 |
//
|
williamr@2
|
136 |
const TUid KLogMmsEventTypeUid = {0x1000595e};
|
williamr@2
|
137 |
|
williamr@2
|
138 |
//-----------------------------------------------
|
williamr@2
|
139 |
// Flag bits in iMtmData1
|
williamr@2
|
140 |
// The default value for all bits is 0
|
williamr@2
|
141 |
//-----------------------------------------------
|
williamr@2
|
142 |
// Message types stored in iMtmData1
|
williamr@2
|
143 |
// The message types defined are those that could actually be found
|
williamr@2
|
144 |
// in message store. Values for transient types are not defined.
|
williamr@2
|
145 |
const TUint32 KMmsMessageTypeMask = 0x0000000F;
|
williamr@2
|
146 |
const TUint32 KMmsMessageMSendReq = 0x00000001;
|
williamr@2
|
147 |
// reserved for future use 0x00000002;
|
williamr@2
|
148 |
const TUint32 KMmsMessageMNotificationInd = 0x00000003;
|
williamr@2
|
149 |
// reserved for future use 0x00000004;
|
williamr@2
|
150 |
const TUint32 KMmsMessageMRetrieveConf = 0x00000005;
|
williamr@2
|
151 |
// reserved for future use 0x00000006;
|
williamr@2
|
152 |
const TUint32 KMmsMessageDeliveryInd = 0x00000007;
|
williamr@2
|
153 |
const TUint32 KMmsMessageReadRecInd = 0x00000008;
|
williamr@2
|
154 |
const TUint32 KMmsMessageReadOrigInd = 0x00000009;
|
williamr@2
|
155 |
const TUint32 KMmsMessageForwardReq = 0x0000000A;
|
williamr@2
|
156 |
// reserved for future use 0x0000000B;
|
williamr@2
|
157 |
// reserved for future use 0x0000000C;
|
williamr@2
|
158 |
// reserved for future use 0x0000000D;
|
williamr@2
|
159 |
// reserved for future use 0x0000000E;
|
williamr@2
|
160 |
// This must be the last one to allow some expansion for known types
|
williamr@2
|
161 |
const TUint32 KMmsMessageUnrecognized = 0x0000000F;
|
williamr@2
|
162 |
|
williamr@2
|
163 |
// Message state stored in iMtmData1
|
williamr@2
|
164 |
const TUint32 KMmsMessageEncrypted = 0x00000010;
|
williamr@2
|
165 |
const TUint32 KMmsMessageSigned = 0x00000020;
|
williamr@2
|
166 |
const TUint32 KMmsMessageForwarded = 0x00000040;
|
williamr@2
|
167 |
const TUint32 KMmsMessageMobileTerminated = 0x00000080;
|
williamr@2
|
168 |
const TUint32 KMmsMessageEditorOriented = 0x00000100;
|
williamr@2
|
169 |
|
williamr@2
|
170 |
// bit to indicate that attribute stream is present in entry
|
williamr@2
|
171 |
const TUint32 KMmsAttributeStreamPresent = 0x00000200;
|
williamr@2
|
172 |
|
williamr@2
|
173 |
// reserved for future use
|
williamr@2
|
174 |
// 0x00000400
|
williamr@2
|
175 |
// 0x00000800
|
williamr@2
|
176 |
|
williamr@2
|
177 |
// Message type flags
|
williamr@2
|
178 |
// 1 byte reserved (0x0000F000)
|
williamr@2
|
179 |
// If no flag is set, message is personal (default)
|
williamr@2
|
180 |
const TUint32 KMmsMessageClassMask = 0x0000F000;
|
williamr@2
|
181 |
const TUint32 KMmsMessageAdvertisement = 0x00001000;
|
williamr@2
|
182 |
const TUint32 KMmsMessageInformational = 0x00002000;
|
williamr@2
|
183 |
// two message types can be added (0x00004000 and 0x00008000)
|
williamr@2
|
184 |
|
williamr@2
|
185 |
// Some free bits here...
|
williamr@2
|
186 |
const TUint32 KMmsReservedMtmData1 = 0x00FF0000;
|
williamr@2
|
187 |
|
williamr@2
|
188 |
// Bit that indicates if the message contains non-conformant content.
|
williamr@2
|
189 |
// Default value is 0.
|
williamr@2
|
190 |
// 0 = Message is conformant, or the content is unknown (created by legacy software)
|
williamr@2
|
191 |
// 1 = Message is known to contain non-conformant content.
|
williamr@2
|
192 |
const TUint32 KMmsNonConformantMessage = 0x01000000;
|
williamr@2
|
193 |
|
williamr@2
|
194 |
// DRM Status in iMtmData1
|
williamr@2
|
195 |
// A DRM attachment is corrupted and removed
|
williamr@2
|
196 |
const TUint32 EMmsDrmCorruptedAttachment = 0x02000000;
|
williamr@2
|
197 |
|
williamr@2
|
198 |
// Here is still a gap here: bits 0x0C000000 are free.
|
williamr@2
|
199 |
// (flags 0x04000000 and 0x08000000)
|
williamr@2
|
200 |
// Should be reserved for future DRM needs.
|
williamr@2
|
201 |
|
williamr@2
|
202 |
// <DEPRECATED>
|
williamr@2
|
203 |
// Range of bits that indicates that the message has some special content
|
williamr@2
|
204 |
// that needs some non-standard handling
|
williamr@2
|
205 |
const TUint32 KMmsSpecialContentMask = 0xF0000000;
|
williamr@2
|
206 |
// undefined special content reserved for future use: 0x10000000
|
williamr@2
|
207 |
// Special content is "postcard"
|
williamr@2
|
208 |
const TUint32 KMmsPostcard = 0x20000000;
|
williamr@2
|
209 |
// Special content is "upload"
|
williamr@2
|
210 |
const TUint32 KMmsUpload = 0x40000000;
|
williamr@2
|
211 |
// undefined special content reserved for future use: 0x80000000
|
williamr@2
|
212 |
// </DEPRECATED>
|
williamr@2
|
213 |
|
williamr@2
|
214 |
|
williamr@2
|
215 |
//-----------------------------------------------
|
williamr@2
|
216 |
// Flag bits in iMtmData2
|
williamr@2
|
217 |
// The default value for all bits is 0
|
williamr@2
|
218 |
//-----------------------------------------------
|
williamr@2
|
219 |
|
williamr@2
|
220 |
// Message notification stuff stored in iMtmData2
|
williamr@2
|
221 |
// Response already sent to MMSC
|
williamr@2
|
222 |
// or MMBox item for which notify response will not be sent.
|
williamr@2
|
223 |
// (fetch acknowledged with M-Acknowledge.ind PDU)
|
williamr@2
|
224 |
const TUint32 KMmsNotifyResponseSent = 0x00000001;
|
williamr@2
|
225 |
// undecoded (binary) notification
|
williamr@2
|
226 |
const TUint32 KMmsNotificationBinary = 0x00000002;
|
williamr@2
|
227 |
|
williamr@2
|
228 |
// The following flags are related to notifications that are stored in inbox
|
williamr@2
|
229 |
// to allow the messages to be fetched manually (not automatically)
|
williamr@2
|
230 |
// has the message corresponding to this notification expired
|
williamr@2
|
231 |
|
williamr@2
|
232 |
// Message corresponding to this notification has expired
|
williamr@2
|
233 |
// 0 = Message has not expired, 1 = Message has expired
|
williamr@2
|
234 |
const TUint32 KMmsMessageExpired = 0x00000004;
|
williamr@2
|
235 |
|
williamr@2
|
236 |
// <DEPRECATED>
|
williamr@2
|
237 |
const TUint32 KMmsDeleteAtExpiration = 0x00000008;
|
williamr@2
|
238 |
// </DEPRECATED>
|
williamr@2
|
239 |
|
williamr@2
|
240 |
// Operation mask. The next bits tell which operation is currently in progress.
|
williamr@2
|
241 |
// When a message is being forwarded or fetched, another simulataneous operation
|
williamr@2
|
242 |
// is not allowed.
|
williamr@2
|
243 |
// 0 = no operation
|
williamr@2
|
244 |
const TUint32 KMmsOperationIdentifier = 0x00000070;
|
williamr@2
|
245 |
|
williamr@2
|
246 |
// fetch operation in progress
|
williamr@2
|
247 |
const TUint32 KMmsOperationFetch = 0x00000010;
|
williamr@2
|
248 |
// forward operation in progress or finished
|
williamr@2
|
249 |
const TUint32 KMmsOperationForward = 0x00000020;
|
williamr@2
|
250 |
// delete operation in progress or finished
|
williamr@2
|
251 |
const TUint32 KMmsOperationDelete = 0x00000030;
|
williamr@2
|
252 |
// 0x00000040 - 0x00000070 reserved for future operations
|
williamr@2
|
253 |
|
williamr@2
|
254 |
// Operation progress bits (4 bits)
|
williamr@2
|
255 |
|
williamr@2
|
256 |
// Is new operation allowed for this notification
|
williamr@2
|
257 |
// 0 = new operation allowed
|
williamr@2
|
258 |
// 1 = new operation forbidden
|
williamr@2
|
259 |
const TUint32 KMmsNewOperationForbidden = 0x00000080;
|
williamr@2
|
260 |
// Is operation currently ongoing
|
williamr@2
|
261 |
// 0 = no operation
|
williamr@2
|
262 |
// 1 = operation ongoing
|
williamr@2
|
263 |
const TUint32 KMmsOperationOngoing = 0x00000100;
|
williamr@2
|
264 |
// Has operation finished (and is result available)
|
williamr@2
|
265 |
// 0 = operation has not finished
|
williamr@2
|
266 |
// 1 = operation has finished
|
williamr@2
|
267 |
const TUint32 KMmsOperationFinished = 0x00000200;
|
williamr@2
|
268 |
// Operation result (if operation has finished)
|
williamr@2
|
269 |
// 0 = OK
|
williamr@2
|
270 |
// 1 = error
|
williamr@2
|
271 |
const TUint32 KMmsOperationResult = 0x00000400;
|
williamr@2
|
272 |
|
williamr@2
|
273 |
// Has message been stored to MMBox as result of some operation
|
williamr@2
|
274 |
// or was it in MMBox originally
|
williamr@2
|
275 |
// 0 = Message not in MMBox
|
williamr@2
|
276 |
// 1 = Message stored in MMBox
|
williamr@2
|
277 |
const TUint32 KMmsStoredInMMBox = 0x00000800;
|
williamr@2
|
278 |
|
williamr@2
|
279 |
// 0 = Not applicable
|
williamr@2
|
280 |
// 1 = Notification received in deferred mode, but response
|
williamr@2
|
281 |
// sending was not allowed, and therefore notify-response
|
williamr@2
|
282 |
// has not been sent to MMSC
|
williamr@2
|
283 |
const TUint32 KMmsDeferredButResponseNotSent = 0x00001000;
|
williamr@2
|
284 |
|
williamr@2
|
285 |
// This is some special notification that should never be
|
williamr@2
|
286 |
// moved to inbox in manual mode even if fetching fails.
|
williamr@2
|
287 |
// 0 = May be moved if needed
|
williamr@2
|
288 |
// 1 = Do not move to inbox
|
williamr@2
|
289 |
const TUint32 KMmsDoNotMoveToInbox = 0x00002000;
|
williamr@2
|
290 |
|
williamr@2
|
291 |
// The message was addressed to an application
|
williamr@2
|
292 |
// The message has been successfully fetched and routed to the application
|
williamr@2
|
293 |
// Even if notification remains in inbox, no operations are allowed except
|
williamr@2
|
294 |
// delete from phone.
|
williamr@2
|
295 |
const TUint32 KMmsMessageRoutedToApplication = 0x00004000;
|
williamr@2
|
296 |
|
williamr@2
|
297 |
// The following flags are for all message types
|
williamr@2
|
298 |
|
williamr@2
|
299 |
// bits reserved for future use
|
williamr@2
|
300 |
const TUint32 KMmsReservedMtmData2 = 0x000F8000;
|
williamr@2
|
301 |
|
williamr@2
|
302 |
// Delivery status bytes, valid only for sent messages
|
williamr@2
|
303 |
// that have been moved to "Sent" folder.
|
williamr@2
|
304 |
// If the message has been copied or moved to another folder,
|
williamr@2
|
305 |
// there is no guarantee that these bits are valid anymore.
|
williamr@2
|
306 |
|
williamr@2
|
307 |
const TUint32 KMmsDeliveryStatusMask = 0x00F00000;
|
williamr@2
|
308 |
// Delivery report was not requested
|
williamr@2
|
309 |
// If the user specifies that no delivery reports are wanted,
|
williamr@2
|
310 |
// the message stays in this state forever.
|
williamr@2
|
311 |
// This status means that no delivery data is available.
|
williamr@2
|
312 |
const TUint32 KMmsDeliveryStatusNotRequested = 0x00000000;
|
williamr@2
|
313 |
|
williamr@2
|
314 |
// If Delivery reports have been requested, the number of
|
williamr@2
|
315 |
// recipients and received delivery reports is stored in
|
williamr@2
|
316 |
// iMtmData3
|
williamr@2
|
317 |
|
williamr@2
|
318 |
// Delivery status is "pending" when the delivery status of all
|
williamr@2
|
319 |
// recipients is "pending".
|
williamr@2
|
320 |
const TUint32 KMmsDeliveryStatusPending = 0x00100000;
|
williamr@2
|
321 |
// delivery status is "partial" when delivery raport about
|
williamr@2
|
322 |
// successful delivery has been received from at least one recipient.
|
williamr@2
|
323 |
const TUint32 KMmsDeliveryStatusPartial = 0x00200000;
|
williamr@2
|
324 |
// delivery status is "failed" if sending has failed for at least
|
williamr@2
|
325 |
// one recipient
|
williamr@2
|
326 |
const TUint32 KMmsDeliveryStatysFailed = 0x00400000;
|
williamr@2
|
327 |
// delivery status is "delivered" if the status of all
|
williamr@2
|
328 |
// recipients is delivered
|
williamr@2
|
329 |
const TUint32 KMmsDeliveryStatysDelivered = 0x00800000;
|
williamr@2
|
330 |
|
williamr@2
|
331 |
|
williamr@2
|
332 |
// bits reserved for UI usage
|
williamr@2
|
333 |
// MMS engine will not change these bits.
|
williamr@2
|
334 |
// The default value for these bits will be 0.
|
williamr@2
|
335 |
const TUint32 KMmsReservedForUI = 0xFF000000;
|
williamr@2
|
336 |
|
williamr@2
|
337 |
//-----------------------------------------------
|
williamr@2
|
338 |
// Flag bits in iMtmData3
|
williamr@2
|
339 |
// The default value for all bits is 0
|
williamr@2
|
340 |
//-----------------------------------------------
|
williamr@2
|
341 |
|
williamr@2
|
342 |
// These are mask values for ranges of bits to be used as counters
|
williamr@2
|
343 |
// The shift constants indicate how much the value must be shifted
|
williamr@2
|
344 |
// right to be used as a number, and how much the number must be
|
williamr@2
|
345 |
// shifted to left before being stored.
|
williamr@2
|
346 |
|
williamr@2
|
347 |
// To examine the value use:
|
williamr@2
|
348 |
// number = ( iMtmData3 & mask ) >> shift;
|
williamr@2
|
349 |
// To set the value use:
|
williamr@2
|
350 |
// iMtmData3 &= ~mask;
|
williamr@2
|
351 |
// iMtmData3 |= number << shift;
|
williamr@2
|
352 |
|
williamr@2
|
353 |
// Retry count mask ( for automatic retries )
|
williamr@2
|
354 |
// max 15 retries counted
|
williamr@2
|
355 |
const TUint32 KMmsRetryCountMask = 0x0000000F;
|
williamr@2
|
356 |
// no shift needed for automatic retry count
|
williamr@2
|
357 |
|
williamr@2
|
358 |
// Retry count mask ( for manual retries )
|
williamr@2
|
359 |
// This is reserved for UI usage.
|
williamr@2
|
360 |
// max 15 retries counted
|
williamr@2
|
361 |
const TUint32 KMmsManualRetryCountMask = 0x000000F0;
|
williamr@2
|
362 |
const TInt KMmsManualRetryCountShift = 4;
|
williamr@2
|
363 |
|
williamr@2
|
364 |
// The following three areas are used to keep track of delivery status
|
williamr@2
|
365 |
// of several recipients. These fields are valid only for messages
|
williamr@2
|
366 |
// that have been sent and have been moved to sent folder.
|
williamr@2
|
367 |
// The values are not valid in any other context as it is impossible
|
williamr@2
|
368 |
// to prevent applications from copying messages behind MMS engine's back.
|
williamr@2
|
369 |
// MMS engine tries to clear these bits in other places, but there is no
|
williamr@2
|
370 |
// guarantee of that.
|
williamr@2
|
371 |
|
williamr@2
|
372 |
// Total number of recipients
|
williamr@2
|
373 |
// Max 255 recipients
|
williamr@2
|
374 |
const TUint32 KMmsSentItemTotalRecipientsMask = 0x0000FF00;
|
williamr@2
|
375 |
const TInt KMmsSentItemTotalRecipientsShift = 8;
|
williamr@2
|
376 |
|
williamr@2
|
377 |
// Number of delivery reports with status "delivered"
|
williamr@2
|
378 |
// Max 255 delivery reports
|
williamr@2
|
379 |
const TUint32 KMmsSentItemSuccessfullyDeliveredMask = 0x00FF0000;
|
williamr@2
|
380 |
const TInt KMmsSentItemSuccessfullyDeliveredShift = 16;
|
williamr@2
|
381 |
|
williamr@2
|
382 |
// Number of delivery reports with status "failed"
|
williamr@2
|
383 |
// Max 255 delivery reports
|
williamr@2
|
384 |
const TUint32 KMmsSentItemFailedDeliveryMask = 0xFF000000;
|
williamr@2
|
385 |
const TInt KMmsSentItemFailedDeliveryShift = 24;
|
williamr@2
|
386 |
|
williamr@2
|
387 |
|
williamr@2
|
388 |
// End of MtmData bit definitions
|
williamr@2
|
389 |
// ------------------------------------------------------
|
williamr@2
|
390 |
|
williamr@2
|
391 |
// Unicode BOM
|
williamr@2
|
392 |
const TUint16 KMmsByteOrderMark = 0xFEFF;
|
williamr@2
|
393 |
const TUint16 KMmsReversedByteOrderMark = 0xFFFE;
|
williamr@2
|
394 |
|
williamr@2
|
395 |
// Maximum iDescription read from text/plain file in terms of characters.
|
williamr@2
|
396 |
const TInt KMmsMaxDescription = 128;
|
williamr@2
|
397 |
|
williamr@2
|
398 |
// WSP assigned numbers
|
williamr@2
|
399 |
const TInt8 KUidMmsWSPMultiPartMixed = 0x23;
|
williamr@2
|
400 |
const TInt8 KUidMmsWSPMultiPartRelated = 0x33;
|
williamr@2
|
401 |
|
williamr@2
|
402 |
// MMS specific field assignments
|
williamr@2
|
403 |
// same values used for enum values in internal storage
|
williamr@2
|
404 |
const TUint8 KMmsMessageClassPersonal = 128;
|
williamr@2
|
405 |
const TUint8 KMmsMessageClassAdvertisement = 129;
|
williamr@2
|
406 |
const TUint8 KMmsMessageClassInformational = 130;
|
williamr@2
|
407 |
const TUint8 KMmsMessageClassAuto = 131;
|
williamr@2
|
408 |
|
williamr@2
|
409 |
// X-Mms-Message-Type field
|
williamr@2
|
410 |
// message types since encaps 1.0
|
williamr@2
|
411 |
const TUint8 KMmsMessageTypeMSendReq = 128;
|
williamr@2
|
412 |
const TUint8 KMmsMessageTypeMSendConf = 129;
|
williamr@2
|
413 |
const TUint8 KMmsMessageTypeMNotificationInd = 130;
|
williamr@2
|
414 |
const TUint8 KMmsMessageTypeMNotifyRespInd = 131;
|
williamr@2
|
415 |
const TUint8 KMmsMessageTypeMRetrieveConf = 132;
|
williamr@2
|
416 |
const TUint8 KMmsMessageTypeAcknowledgeInd = 133;
|
williamr@2
|
417 |
const TUint8 KMmsMessageTypeDeliveryInd = 134;
|
williamr@2
|
418 |
// message types since encaps 1.1
|
williamr@2
|
419 |
const TUint8 KMmsMessageTypeReadRecInd = 135;
|
williamr@2
|
420 |
const TUint8 KMmsMessageTypeReadOrigInd = 136;
|
williamr@2
|
421 |
const TUint8 KMmsMessageTypeForwardReq = 137;
|
williamr@2
|
422 |
const TUint8 KMmsMessageTypeForwardConf = 138;
|
williamr@2
|
423 |
// message types since encaps 1.2
|
williamr@2
|
424 |
const TUint8 KMmsMessageTypeMboxStoreReq = 139;
|
williamr@2
|
425 |
const TUint8 KMmsMessageTypeMboxStoreConf = 140;
|
williamr@2
|
426 |
const TUint8 KMmsMessageTypeMboxViewReq = 141;
|
williamr@2
|
427 |
const TUint8 KMmsMessageTypeMboxViewConf = 142;
|
williamr@2
|
428 |
const TUint8 KMmsMessageTypeMBoxUploadReq = 143;
|
williamr@2
|
429 |
const TUint8 KMmsMessageTypeMBoxUploadConf = 144;
|
williamr@2
|
430 |
const TUint8 KMmsMessageTypeMBoxDeleteReq = 145;
|
williamr@2
|
431 |
const TUint8 KMmsMessageTypeMBoxDeleteConf = 146;
|
williamr@2
|
432 |
const TUint8 KMmsMessageTypeMBoxDescr = 147;
|
williamr@2
|
433 |
// message types since encaps 1.3
|
williamr@2
|
434 |
const TUint8 KMmsMessageTypeDeleteReq = 148;
|
williamr@2
|
435 |
const TUint8 KMmsMessageTypeDeleteConf = 149;
|
williamr@2
|
436 |
const TUint8 KMmsMessageTypeCancelReq = 150;
|
williamr@2
|
437 |
const TUint8 KMmsMessageTypeCancelConf = 151;
|
williamr@2
|
438 |
|
williamr@2
|
439 |
|
williamr@2
|
440 |
// X-Mms-Priority field
|
williamr@2
|
441 |
const TUint8 KMmsPriorityLow = 128;
|
williamr@2
|
442 |
const TUint8 KMmsPriorityNormal = 129;
|
williamr@2
|
443 |
const TUint8 KMmsPriorityHigh = 130;
|
williamr@2
|
444 |
|
williamr@2
|
445 |
// All fields with Yes/No value
|
williamr@2
|
446 |
const TUint8 KMmsYes = 128;
|
williamr@2
|
447 |
const TUint8 KMmsNo = 129;
|
williamr@2
|
448 |
|
williamr@2
|
449 |
// X-Mms-Sender-Visibility field
|
williamr@2
|
450 |
const TUint8 KMmsSenderHide = 128;
|
williamr@2
|
451 |
const TUint8 KMmsSenderShow = 129;
|
williamr@2
|
452 |
|
williamr@2
|
453 |
// X-Mms-Status field
|
williamr@2
|
454 |
const TUint8 KMmsMessageStatusExpired = 128;
|
williamr@2
|
455 |
const TUint8 KMmsMessageStatusRetrieved = 129;
|
williamr@2
|
456 |
const TUint8 KMmsMessageStatusRejected = 130;
|
williamr@2
|
457 |
const TUint8 KMmsMessageStatusDeferred = 131;
|
williamr@2
|
458 |
const TUint8 KMmsMessageStatusUnrecognized = 132;
|
williamr@2
|
459 |
const TUint8 KMmsMessageStatusIndeterminate = 133;
|
williamr@2
|
460 |
const TUint8 KMmsMessageStatusForwarded = 134;
|
williamr@2
|
461 |
const TUint8 KMmsMessageStatusUnreachable = 135;
|
williamr@2
|
462 |
|
williamr@2
|
463 |
// X-Mms-Read-Status field
|
williamr@2
|
464 |
const TUint8 KMmsReadStatusRead = 128;
|
williamr@2
|
465 |
const TUint8 KMmsReadStatusDeletedWithoutBeingRead = 129;
|
williamr@2
|
466 |
|
williamr@2
|
467 |
// X-Mms-Reply-Charging field
|
williamr@2
|
468 |
const TUint8 KMmsReplyChargingRequested = 128;
|
williamr@2
|
469 |
const TUint8 KMmsReplyChargingRequestedTextOnly = 129;
|
williamr@2
|
470 |
const TUint8 KMmsReplyChargingAccepted = 130;
|
williamr@2
|
471 |
const TUint8 KMmsReplyChargingAcceptedTextOnly = 131;
|
williamr@2
|
472 |
|
williamr@2
|
473 |
// field assignments since MMS encapsulation 1.2
|
williamr@2
|
474 |
|
williamr@2
|
475 |
// X-Mms-Mbox-Quotas field & // X-Mms-MBox-Totals field
|
williamr@2
|
476 |
const TUint8 KMmsMessageCountToken = 128;
|
williamr@2
|
477 |
const TUint8 KMmsMessageSizeToken = 129;
|
williamr@2
|
478 |
|
williamr@2
|
479 |
// X-Mms-MM-Flags field
|
williamr@2
|
480 |
const TUint8 KMmsAddToken = 128;
|
williamr@2
|
481 |
const TUint8 KMmsRemoveToken = 129;
|
williamr@2
|
482 |
const TUint8 KMmsFilterToken = 130;
|
williamr@2
|
483 |
|
williamr@2
|
484 |
// X-Mms-MM-State field
|
williamr@2
|
485 |
const TUint8 KMmsDraft = 128;
|
williamr@2
|
486 |
const TUint8 KMmsSent = 129;
|
williamr@2
|
487 |
const TUint8 KMmsNew = 130;
|
williamr@2
|
488 |
const TUint8 KMmsRetrieved = 131;
|
williamr@2
|
489 |
const TUint8 KMmsForwarded = 132;
|
williamr@2
|
490 |
|
williamr@2
|
491 |
// Response status or Retrieve status OK
|
williamr@2
|
492 |
const TInt KMmsResponseStatusOK = 128;
|
williamr@2
|
493 |
|
williamr@2
|
494 |
// field assignments since MMS encapsulation 1.3
|
williamr@2
|
495 |
// These will be needed when 1.3 version is supported (not yet)
|
williamr@2
|
496 |
|
williamr@2
|
497 |
// X-Mms-Cancel-Status field
|
williamr@2
|
498 |
const TUint8 KMmsCancelRequestSuccessfullyReceived = 128;
|
williamr@2
|
499 |
const TUint8 KMmsCancelRequestCorrupted = 129;
|
williamr@2
|
500 |
|
williamr@2
|
501 |
// X-Mms-Content-Class field
|
williamr@2
|
502 |
const TUint8 KMmsContentClassText = 128;
|
williamr@2
|
503 |
const TUint8 KMmsContentClassImageBasic = 129;
|
williamr@2
|
504 |
const TUint8 KMmsContentClassImageRich = 130;
|
williamr@2
|
505 |
const TUint8 KMmsContentClassVideoBasic = 131;
|
williamr@2
|
506 |
const TUint8 KMmsContentClassVideoRich = 132;
|
williamr@2
|
507 |
const TUint8 KMmsContentClassMegaPixel = 133;
|
williamr@2
|
508 |
const TUint8 KMmsContentClassContentBasic = 134;
|
williamr@2
|
509 |
const TUint8 KMmsContentClassContentRich = 135;
|
williamr@2
|
510 |
|
williamr@2
|
511 |
// X-Mms-Recommended-Retrieval-mode field
|
williamr@2
|
512 |
const TUint8 KMmsRecommendedRetrievalModeManual = 128;
|
williamr@2
|
513 |
|
williamr@2
|
514 |
// end of field assignments
|
williamr@2
|
515 |
|
williamr@2
|
516 |
// All content type strings are in KContentTypeTable
|
williamr@2
|
517 |
// some are defined here to be used separately
|
williamr@2
|
518 |
_LIT8( KMmsAny, "*/*" );
|
williamr@2
|
519 |
_LIT8( KMmsTextPlain, "text/plain" );
|
williamr@2
|
520 |
_LIT8( KMmsApplicationSmil, "application/smil" );
|
williamr@2
|
521 |
_LIT8( KMmsUnknownType, "application/octet-stream" );
|
williamr@2
|
522 |
_LIT8( KMmsMultipartReport, "multipart/report" );
|
williamr@2
|
523 |
|
williamr@2
|
524 |
// DRM Content subtypes. CMsvMimeHeaders class saves type and subtype separately
|
williamr@2
|
525 |
_LIT8( KMmsDrmMessageCT, "vnd.oma.drm.message" ); // DRM Message
|
williamr@2
|
526 |
_LIT8( KMmsDrmContentCT, "vnd.oma.drm.content" ); // DRM Content
|
williamr@2
|
527 |
_LIT8( KMmsDrmRightsTFCT, "vnd.oma.drm.rights+xml" ); // DRM Rights in textual format
|
williamr@2
|
528 |
_LIT8( KMmsDrmRightsBFCT, "vnd.oma.drm.rights+wbxml" ); // DRM Rights in binary format
|
williamr@2
|
529 |
_LIT8( KMmsDrmDcfCT, "vnd.oma.drm.dcf" ); // DRM Content format for discrete media
|
williamr@2
|
530 |
|
williamr@2
|
531 |
// Content type parameters used by Java WMA to specify application id
|
williamr@2
|
532 |
_LIT8( KMmsJavaApplicationId, "Application-ID" );
|
williamr@2
|
533 |
_LIT8( KMmsJavaReplyApplicationId, "Reply-To-Application-ID" );
|
williamr@2
|
534 |
|
williamr@2
|
535 |
// Assigned numbers for content types
|
williamr@2
|
536 |
// If new assignments are needed, check numbers from KContentTypeTable
|
williamr@2
|
537 |
const TUint8 KMmsAssignedAny = 0x00;
|
williamr@2
|
538 |
const TUint8 KMmsAssignedText = 0x01;
|
williamr@2
|
539 |
const TUint8 KMmsAssignedTextPlain = 0x03;
|
williamr@2
|
540 |
const TUint8 KMmsAssignedApplicationVndWapMultipart = 0x22;
|
williamr@2
|
541 |
const TUint8 KMmsAssignedApplicationVndWapMultipartMixed = 0x23;
|
williamr@2
|
542 |
const TUint8 KMmsAssignedApplicationVndWapMultipartAlternative = 0x26;
|
williamr@2
|
543 |
const TUint8 KMmsAssignedApplicationXml = 0x27;
|
williamr@2
|
544 |
const TUint8 KMmsAssignedApplicationVndWapWbxml = 0x29;
|
williamr@2
|
545 |
const TUint8 KMmsAssignedApplicationVndWapMultipartRelated = 0x33;
|
williamr@2
|
546 |
|
williamr@2
|
547 |
// IANA / WSP numbers for character sets
|
williamr@2
|
548 |
const TUint8 KMmsUtf8 = 0x6A;
|
williamr@2
|
549 |
const TUint8 KMmsUsAscii = 0x03;
|
williamr@2
|
550 |
const TUint KMmsIso10646Ucs2 = 0x03E8; // 1000
|
williamr@2
|
551 |
const TUint KMmsUTF16 = 0x03F7; // 1015
|
williamr@2
|
552 |
const TUint KMmsUTF16BE = 0x03F5; // 1013
|
williamr@2
|
553 |
const TUint KMmsUTF16LE = 0x03F6; // 1014
|
williamr@2
|
554 |
const TUint KMmsUtf7 = 0x03F4; // 1012
|
williamr@2
|
555 |
|
williamr@2
|
556 |
// CR/LF definitions for removal...
|
williamr@2
|
557 |
_LIT ( KLf16, "\x00A" ); // 16 bit line feed
|
williamr@2
|
558 |
_LIT ( KCr16, "\x00D" ); // 16 bit carriage return
|
williamr@2
|
559 |
_LIT ( KSpace16, " " ); // 16 bit space
|
williamr@2
|
560 |
_LIT ( KEqualsQuestion16, "=?" ); // MIME encoding starter
|
williamr@2
|
561 |
_LIT ( KQuote16, "\x022" ); // 16 bit quote
|
williamr@2
|
562 |
_LIT ( KMmsUnicodeLineSeparator, "\x2028");
|
williamr@2
|
563 |
_LIT ( KMmsUnicodeParagraphSeparator, "\x2029");
|
williamr@2
|
564 |
_LIT ( KMmsIdeographicSpace, "\x3000");
|
williamr@2
|
565 |
_LIT8 ( KLf8, "\x00A" ); // 8 bit line feed
|
williamr@2
|
566 |
_LIT8 ( KCr8, "\x00D" ); // 8 bit carriage return
|
williamr@2
|
567 |
_LIT8 ( KSpace8, " " ); // 8 bit space
|
williamr@2
|
568 |
_LIT8 ( KSemicolon8, ";" ); // 8 bit semicolon
|
williamr@2
|
569 |
_LIT8 ( KEquals8, "=" ); // 8 bit equal
|
williamr@2
|
570 |
_LIT8 ( KMmsSlash8, "/"); // 8 bit slash
|
williamr@2
|
571 |
_LIT8 ( KMmsLeftAngle, "<"); // 8 bit angle bracket
|
williamr@2
|
572 |
_LIT8 ( KMmsRightAngle, ">"); // 8 bit angle bracket
|
williamr@2
|
573 |
|
williamr@2
|
574 |
// MACROS
|
williamr@2
|
575 |
|
williamr@2
|
576 |
// DATA TYPES
|
williamr@2
|
577 |
|
williamr@2
|
578 |
// Possible address types
|
williamr@2
|
579 |
enum TMmsAddressType
|
williamr@2
|
580 |
{
|
williamr@2
|
581 |
EMmsAddressTypeUnknown = 0,
|
williamr@2
|
582 |
EMmsAddressTypeMobile,
|
williamr@2
|
583 |
EMmsAddressTypeEmail,
|
williamr@2
|
584 |
EMmsAddressTypeIpv4,
|
williamr@2
|
585 |
EMmsAddressTypeIpv6
|
williamr@2
|
586 |
};
|
williamr@2
|
587 |
|
williamr@2
|
588 |
// These panics should only be used in ASSERT_DEBUGs
|
williamr@2
|
589 |
// (The user should not see these)
|
williamr@2
|
590 |
enum TMmsPanic // MMS error codes
|
williamr@2
|
591 |
{
|
williamr@2
|
592 |
EMmsBadMtmTypeUid = KErrNone+1,
|
williamr@2
|
593 |
EMmsNoCMsvEntrySet,
|
williamr@2
|
594 |
EMmsEntryTypeNotSupported,
|
williamr@2
|
595 |
EMmsHeadersNotFound,
|
williamr@2
|
596 |
EMmsAlreadyBusy,
|
williamr@2
|
597 |
EMmsUnknownState,
|
williamr@2
|
598 |
EMmsActiveInFinalProgress,
|
williamr@2
|
599 |
EMmsFinalProgressFailed,
|
williamr@2
|
600 |
EMmsNotAMessageEntry
|
williamr@2
|
601 |
};
|
williamr@2
|
602 |
|
williamr@2
|
603 |
|
williamr@2
|
604 |
// Values for recipient types
|
williamr@2
|
605 |
// <DEPRECATED>
|
williamr@2
|
606 |
// old TMmsRecipients type values should not be used any more!
|
williamr@2
|
607 |
// instead use TMsvRecipientType values by Symbian!
|
williamr@2
|
608 |
typedef TMsvRecipientType TMmsRecipients;
|
williamr@2
|
609 |
#define EMmsTo EMsvRecipientTo
|
williamr@2
|
610 |
#define EMmsCc EMsvRecipientCc
|
williamr@2
|
611 |
#define EMmsBcc EMsvRecipientBcc
|
williamr@2
|
612 |
// </DEPRECATED>
|
williamr@2
|
613 |
|
williamr@2
|
614 |
enum TMmsYesNo
|
williamr@2
|
615 |
{
|
williamr@2
|
616 |
EMmsYes = KMmsYes,
|
williamr@2
|
617 |
EMmsNo = KMmsNo
|
williamr@2
|
618 |
};
|
williamr@2
|
619 |
|
williamr@2
|
620 |
// Values for message Delivery-Report
|
williamr@2
|
621 |
typedef TMmsYesNo TMmsMessageDeliveryReport;
|
williamr@2
|
622 |
// Values for Delivery-Report allowed
|
williamr@2
|
623 |
typedef TMmsYesNo TMmsSettingsDeliveryReportAllowed;
|
williamr@2
|
624 |
// Values for message Read-Reply
|
williamr@2
|
625 |
typedef TMmsYesNo TMmsMessageReadReply;
|
williamr@2
|
626 |
// Values for Read-Reply sending allowed
|
williamr@2
|
627 |
typedef TMmsYesNo TMmsSettingsReadReplyAllowed;
|
williamr@2
|
628 |
|
williamr@2
|
629 |
// <DEPRECATED>
|
williamr@2
|
630 |
// use EMmsYes and EMmsNo instead
|
williamr@2
|
631 |
#define EMmsDeliveryReportYes EMmsYes
|
williamr@2
|
632 |
#define EMmsDeliveryReportNo EMmsNo
|
williamr@2
|
633 |
|
williamr@2
|
634 |
#define EMmsDeliveryReportAllowedYes EMmsYes
|
williamr@2
|
635 |
#define EMmsDeliveryReportAllowedNo EMmsNo
|
williamr@2
|
636 |
|
williamr@2
|
637 |
#define EMmsReadReplyYes EMmsYes
|
williamr@2
|
638 |
#define EMmsReadreplyNo EMmsNo
|
williamr@2
|
639 |
|
williamr@2
|
640 |
#define EMmsReadReplyAllowedYes EMmsYes
|
williamr@2
|
641 |
#define EMmsReadReplyAllowedNo EMmsNo
|
williamr@2
|
642 |
// </DEPRECATED>
|
williamr@2
|
643 |
|
williamr@2
|
644 |
// Values for message class
|
williamr@2
|
645 |
enum TMmsMessageClass
|
williamr@2
|
646 |
{
|
williamr@2
|
647 |
EMmsMimimumMessageClass = KMmsMessageClassPersonal,
|
williamr@2
|
648 |
EMmsClassPersonal = KMmsMessageClassPersonal,
|
williamr@2
|
649 |
EMmsClassAdvertisement = KMmsMessageClassAdvertisement,
|
williamr@2
|
650 |
EMmsClassInformational = KMmsMessageClassInformational,
|
williamr@2
|
651 |
EMmsClassAuto = KMmsMessageClassAuto,
|
williamr@2
|
652 |
// change following if new message classes are added
|
williamr@2
|
653 |
EMmsMaximumMessageClass = KMmsMessageClassAuto
|
williamr@2
|
654 |
};
|
williamr@2
|
655 |
|
williamr@2
|
656 |
// Values for message priority
|
williamr@2
|
657 |
enum TMmsMessagePriority
|
williamr@2
|
658 |
{
|
williamr@2
|
659 |
EMmsMinimumPriority = KMmsPriorityLow,
|
williamr@2
|
660 |
EMmsPriorityLow = KMmsPriorityLow,
|
williamr@2
|
661 |
EMmsPriorityNormal = KMmsPriorityNormal,
|
williamr@2
|
662 |
EMmsPriorityHigh = KMmsPriorityHigh,
|
williamr@2
|
663 |
// change following if new priorities added
|
williamr@2
|
664 |
EMmsMaximumPriority = KMmsPriorityHigh
|
williamr@2
|
665 |
};
|
williamr@2
|
666 |
|
williamr@2
|
667 |
// Values for message Sender-Visibility
|
williamr@2
|
668 |
enum TMmsMessageSenderVisibility
|
williamr@2
|
669 |
{
|
williamr@2
|
670 |
EMmsSenderVisibilityDefault = 0,
|
williamr@2
|
671 |
EMmsMinimumSenderVisibility = KMmsSenderHide, // always minimum
|
williamr@2
|
672 |
EMmsSenderVisibilityHide = KMmsSenderHide,
|
williamr@2
|
673 |
EMmsSenderVisibilityShow = KMmsSenderShow,
|
williamr@2
|
674 |
EMmsMaximumSenderVisibility = KMmsSenderShow // change if new values added
|
williamr@2
|
675 |
};
|
williamr@2
|
676 |
|
williamr@2
|
677 |
|
williamr@2
|
678 |
// Values for MMS Creation mode
|
williamr@2
|
679 |
enum TMmsCreationMode
|
williamr@2
|
680 |
{
|
williamr@2
|
681 |
EMmsCreationModeRestricted = 0,
|
williamr@2
|
682 |
EMmsCreationModeWarning = 1,
|
williamr@2
|
683 |
EMmsCreationModeFree = 2
|
williamr@2
|
684 |
};
|
williamr@2
|
685 |
|
williamr@2
|
686 |
// <DEPRECATED>
|
williamr@2
|
687 |
// Values for Message-Type field
|
williamr@2
|
688 |
// correspond to binary encoding!
|
williamr@2
|
689 |
// Message type cannot be set using Client MTM
|
williamr@2
|
690 |
// Use KMms constants instead.
|
williamr@2
|
691 |
enum TMmsMessageType
|
williamr@2
|
692 |
{
|
williamr@2
|
693 |
EMmsMSendReq = KMmsMessageTypeMSendReq,
|
williamr@2
|
694 |
EMmsMSendConf = KMmsMessageTypeMSendConf,
|
williamr@2
|
695 |
EMmsNotificationInd = KMmsMessageTypeMNotificationInd,
|
williamr@2
|
696 |
EMmsNotifyRespInd = KMmsMessageTypeMNotifyRespInd,
|
williamr@2
|
697 |
EMmsRetrieveConf = KMmsMessageTypeMRetrieveConf,
|
williamr@2
|
698 |
EMmsAcknowledgeInd = KMmsMessageTypeAcknowledgeInd,
|
williamr@2
|
699 |
EMmsDeliveryInd = KMmsMessageTypeDeliveryInd,
|
williamr@2
|
700 |
EMmsReadRecInd = KMmsMessageTypeReadRecInd,
|
williamr@2
|
701 |
EMmsReadOrigInd = KMmsMessageTypeReadOrigInd,
|
williamr@2
|
702 |
EMmsForwardReq = KMmsMessageTypeForwardReq,
|
williamr@2
|
703 |
EMmsForwardConf = KMmsMessageTypeForwardConf
|
williamr@2
|
704 |
};
|
williamr@2
|
705 |
// </DEPRECATED>
|
williamr@2
|
706 |
|
williamr@2
|
707 |
|
williamr@2
|
708 |
// <DEPRECATED>
|
williamr@2
|
709 |
// Values for Status field
|
williamr@2
|
710 |
// correspond to binary encoding!
|
williamr@2
|
711 |
// Use KMms constants instead.
|
williamr@2
|
712 |
enum TMmsMessageStatus
|
williamr@2
|
713 |
{
|
williamr@2
|
714 |
EMmsStatusExpired = KMmsMessageStatusExpired,
|
williamr@2
|
715 |
EMmsStatusRetrieved = KMmsMessageStatusRetrieved,
|
williamr@2
|
716 |
EMmsStatusRejected = KMmsMessageStatusRejected,
|
williamr@2
|
717 |
EMmsStatusDeferred = KMmsMessageStatusDeferred,
|
williamr@2
|
718 |
EMmsStatusUnrecognized = KMmsMessageStatusUnrecognized,
|
williamr@2
|
719 |
EMmsStatusIndeterminate = KMmsMessageStatusIndeterminate,
|
williamr@2
|
720 |
EMmsStatusForwarded = KMmsMessageStatusForwarded,
|
williamr@2
|
721 |
EMmsStatusUnreachable = KMmsMessageStatusUnreachable
|
williamr@2
|
722 |
};
|
williamr@2
|
723 |
// </DEPRECATED>
|
williamr@2
|
724 |
|
williamr@2
|
725 |
// Values for read status
|
williamr@2
|
726 |
// correspond to binary encoding!
|
williamr@2
|
727 |
enum TMmsReadStatus
|
williamr@2
|
728 |
{
|
williamr@2
|
729 |
EMmsReadStatusRead = KMmsReadStatusRead,
|
williamr@2
|
730 |
EMmsReadStatusDeletedWithoutBeingRead = KMmsReadStatusDeletedWithoutBeingRead
|
williamr@2
|
731 |
};
|
williamr@2
|
732 |
|
williamr@2
|
733 |
enum TMmsReplyCharging
|
williamr@2
|
734 |
{
|
williamr@2
|
735 |
EMmsReplyChargingRequested = KMmsReplyChargingRequested,
|
williamr@2
|
736 |
EMmsReplyChargingRequestedTextOnly = KMmsReplyChargingRequestedTextOnly,
|
williamr@2
|
737 |
EMmsReplyChargingAccepted = KMmsReplyChargingAccepted,
|
williamr@2
|
738 |
EMmsReplyChargingAcceptedTextOnly = KMmsReplyChargingAcceptedTextOnly
|
williamr@2
|
739 |
};
|
williamr@2
|
740 |
|
williamr@2
|
741 |
// mms receiving mode
|
williamr@2
|
742 |
enum TMmsReceivingMode
|
williamr@2
|
743 |
{
|
williamr@2
|
744 |
EMmsReceivingMin = 1,
|
williamr@2
|
745 |
EMmsReceivingAutomatic = EMmsReceivingMin,
|
williamr@2
|
746 |
EMmsReceivingManual = EMmsReceivingMin + 1,
|
williamr@2
|
747 |
EMmsReceivingPostpone = EMmsReceivingManual + 1,
|
williamr@2
|
748 |
EMmsReceivingReject = EMmsReceivingPostpone + 1,
|
williamr@2
|
749 |
EMmsReceivingMax = EMmsReceivingReject
|
williamr@2
|
750 |
};
|
williamr@2
|
751 |
|
williamr@2
|
752 |
// Factory settings
|
williamr@2
|
753 |
enum TMmsFactorySettingsLevel
|
williamr@2
|
754 |
{
|
williamr@2
|
755 |
EMmsFactorySettingsLevelNormal = 0x0,
|
williamr@2
|
756 |
EMmsFactorySettingsLevelDeep
|
williamr@2
|
757 |
};
|
williamr@2
|
758 |
|
williamr@2
|
759 |
// Type of the Delete operation
|
williamr@2
|
760 |
enum TMmsDeleteOperationType
|
williamr@2
|
761 |
{
|
williamr@2
|
762 |
EMmsDeleteNotificationOnly,
|
williamr@2
|
763 |
EMmsDeleteMMBoxOnly,
|
williamr@2
|
764 |
EMmsDeleteBoth
|
williamr@2
|
765 |
};
|
williamr@2
|
766 |
|
williamr@2
|
767 |
#endif // MMSCONST_H
|
williamr@2
|
768 |
|
williamr@2
|
769 |
// End of File
|