1.1 --- a/epoc32/include/app/mmsconst.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/app/mmsconst.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,769 @@
1.4 -mmsconst.h
1.5 +/*
1.6 +* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* 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.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description:
1.19 +* Miscellaneous constants needed by MmsEngine and its clients
1.20 +* (e.g. MCE and DeviceManagement)
1.21 +*
1.22 +*/
1.23 +
1.24 +
1.25 +
1.26 +#ifndef MMSCONST_H
1.27 +#define MMSCONST_H
1.28 +
1.29 +// INCLUDES
1.30 +#include <msvuids.h>
1.31 +#include <msvstd.hrh>
1.32 +#include <e32std.h>
1.33 +#include <cmsvrecipientlist.h>
1.34 +
1.35 +// CONSTANTS
1.36 +
1.37 +// NOTE: January = 0! 1st day of month = 0!
1.38 +_LIT( KMmsYear1970String, "19700000:000000.000000" );
1.39 +
1.40 +// <DEPRECATED>
1.41 +// This is the resource file that contains factory values
1.42 +// for error actions (for scheduled sending and receiving)
1.43 +_LIT(KMmsResourceDriveAndFile, "mmsserver.rsc");
1.44 +// </DEPRECATED>
1.45 +
1.46 +_LIT(KMMSNotificationFolder, "MMSNotifications");
1.47 +_LIT(KMmsMmboxFolder, "MmsMmbox");
1.48 +
1.49 +// constant for conversion between seconds and microseconds
1.50 +const TInt KMmsMillion = 1000000;
1.51 +
1.52 +const TInt KMmsDateBufferLength = 30;
1.53 +
1.54 +//
1.55 +// Image size definitions - Not used by MMS engine
1.56 +// anyone who needs image size constants, should define their own
1.57 +//
1.58 +//
1.59 +// <DEPRECATED>
1.60 +// 160*120
1.61 +const TInt KMmsImageSmallWidth = 160;
1.62 +const TInt KMmsImageSmallHeight = 120;
1.63 +// 640*480
1.64 +const TInt KMmsImageLargeWidth = 640;
1.65 +const TInt KMmsImageLargeHeight = 480;
1.66 +// Original
1.67 +const TInt KMmsImageOriginalWidth = KMaxTInt;
1.68 +const TInt KMmsImageOriginalHeight = KMaxTInt;
1.69 +// </DEPRECATED>
1.70 +
1.71 +// This is the extra amount of disk space that will be taken
1.72 +// up by the index entry when creating new message entries.
1.73 +// This is a crude estimate. It is defined here as a constant
1.74 +// to allow it to be made more accurate by changing the value
1.75 +// in only one place.
1.76 +const TInt KMmsIndexEntryExtra = 80;
1.77 +
1.78 +// This is the safety margin for fetching MMS messages.
1.79 +// There should be at least this much extra disk space
1.80 +// before a message can be fetched. A new message takes
1.81 +// more disk space than the amount indicated in the
1.82 +// notification.
1.83 +const TInt KMmsDiskSafetyMargin = 25000;
1.84 +
1.85 +//
1.86 +// DLL UIDs that might be needed
1.87 +//
1.88 +const TUid KUidMmsServerMtm={0x100058DB};
1.89 +const TUid KUidMmsClientMtm={0x100058DC};
1.90 +const TUid KUidMmsClientUIMtm={0x100058DD};
1.91 +const TUid KUidMmsClientUIDataMtm={0x100058DD};
1.92 +// editor and viewer
1.93 +const TInt KUidMsgMmsEditor={0x100058DE};
1.94 +const TInt KUidMsgMmsViewer={0x100058DF};
1.95 +
1.96 +// message types
1.97 +const TUid KUidMsgTypeMultimedia={0x100058E1};
1.98 +const TUid KUidMsvTechnologyGroupMMS={0x100058E2};
1.99 +const TUid KUidMsgMMSNotification={0x100059C8};
1.100 +
1.101 +// message subtypes
1.102 +const TUid KUidMsgSubTypeMmsUpload={0x102072CD};
1.103 +const TUid KUidMsgSubTypeMmsPostcard={0x102072CE};
1.104 +const TUid KUidMsgSubTypeMmsAudioMsg={0x1020744F};
1.105 +
1.106 +//
1.107 +// Stream UIDs
1.108 +//
1.109 +// Globally unique values have been allocated to all streams
1.110 +// MMS headers
1.111 +const TUid KUidMmsHeaderStream={0x101FB0ED};
1.112 +// recipient scheduling info
1.113 +const TUid KUidMmsRecipientStream={0x101FB0EE};
1.114 +// Notification or delivery report in binary format
1.115 +const TUid KUidBinaryNotificationStream={0x101FB0EF};
1.116 +// element descriptor info, only in notification
1.117 +const TUid KUidMMsElementDescriptorStream = {0x101FB0F0};
1.118 +// MMBox headers that can be present in several message PDUs
1.119 +const TUid KUidMMsMMBoxMessageHeaderStream = {0x101FB0F1};
1.120 +// MMBox headers that are present in MMBox view request and confirmation only
1.121 +const TUid KUidMMsMMBoxViewHeadersStream = {0x101FB0F2};
1.122 +// Extra info (message text) present in extended notification.
1.123 +const TUid KUidMMsExtendedNotificationStream = {0x101FB0F3};
1.124 +// Attributes for UI use
1.125 +const TUid KUidMmsAttributeStream = {0x101FB0F4};
1.126 +// Application id and return-to application id
1.127 +const TUid KUidMmsApplicationInfoStream = {0x101FB0F5};
1.128 +// Reserved for internal use
1.129 +// This stream contains all kinds of unusual information that is rarely present
1.130 +// These are not part of an actual message, but control the transactions.
1.131 +// - recommended retrieval mode
1.132 +// - recommended retrieval mode text
1.133 +// - replace or cancel id
1.134 +// - cancel status
1.135 +const TUid KUidMmsReserved = {0x101FB0F6};
1.136 +
1.137 +//
1.138 +// Log entry event type uid (used unless Symbian allocates an id instead)
1.139 +//
1.140 +const TUid KLogMmsEventTypeUid = {0x1000595e};
1.141 +
1.142 +//-----------------------------------------------
1.143 +// Flag bits in iMtmData1
1.144 +// The default value for all bits is 0
1.145 +//-----------------------------------------------
1.146 +// Message types stored in iMtmData1
1.147 +// The message types defined are those that could actually be found
1.148 +// in message store. Values for transient types are not defined.
1.149 +const TUint32 KMmsMessageTypeMask = 0x0000000F;
1.150 +const TUint32 KMmsMessageMSendReq = 0x00000001;
1.151 +// reserved for future use 0x00000002;
1.152 +const TUint32 KMmsMessageMNotificationInd = 0x00000003;
1.153 +// reserved for future use 0x00000004;
1.154 +const TUint32 KMmsMessageMRetrieveConf = 0x00000005;
1.155 +// reserved for future use 0x00000006;
1.156 +const TUint32 KMmsMessageDeliveryInd = 0x00000007;
1.157 +const TUint32 KMmsMessageReadRecInd = 0x00000008;
1.158 +const TUint32 KMmsMessageReadOrigInd = 0x00000009;
1.159 +const TUint32 KMmsMessageForwardReq = 0x0000000A;
1.160 +// reserved for future use 0x0000000B;
1.161 +// reserved for future use 0x0000000C;
1.162 +// reserved for future use 0x0000000D;
1.163 +// reserved for future use 0x0000000E;
1.164 +// This must be the last one to allow some expansion for known types
1.165 +const TUint32 KMmsMessageUnrecognized = 0x0000000F;
1.166 +
1.167 +// Message state stored in iMtmData1
1.168 +const TUint32 KMmsMessageEncrypted = 0x00000010;
1.169 +const TUint32 KMmsMessageSigned = 0x00000020;
1.170 +const TUint32 KMmsMessageForwarded = 0x00000040;
1.171 +const TUint32 KMmsMessageMobileTerminated = 0x00000080;
1.172 +const TUint32 KMmsMessageEditorOriented = 0x00000100;
1.173 +
1.174 +// bit to indicate that attribute stream is present in entry
1.175 +const TUint32 KMmsAttributeStreamPresent = 0x00000200;
1.176 +
1.177 +// reserved for future use
1.178 +// 0x00000400
1.179 +// 0x00000800
1.180 +
1.181 +// Message type flags
1.182 +// 1 byte reserved (0x0000F000)
1.183 +// If no flag is set, message is personal (default)
1.184 +const TUint32 KMmsMessageClassMask = 0x0000F000;
1.185 +const TUint32 KMmsMessageAdvertisement = 0x00001000;
1.186 +const TUint32 KMmsMessageInformational = 0x00002000;
1.187 +// two message types can be added (0x00004000 and 0x00008000)
1.188 +
1.189 +// Some free bits here...
1.190 +const TUint32 KMmsReservedMtmData1 = 0x00FF0000;
1.191 +
1.192 +// Bit that indicates if the message contains non-conformant content.
1.193 +// Default value is 0.
1.194 +// 0 = Message is conformant, or the content is unknown (created by legacy software)
1.195 +// 1 = Message is known to contain non-conformant content.
1.196 +const TUint32 KMmsNonConformantMessage = 0x01000000;
1.197 +
1.198 +// DRM Status in iMtmData1
1.199 +// A DRM attachment is corrupted and removed
1.200 +const TUint32 EMmsDrmCorruptedAttachment = 0x02000000;
1.201 +
1.202 +// Here is still a gap here: bits 0x0C000000 are free.
1.203 +// (flags 0x04000000 and 0x08000000)
1.204 +// Should be reserved for future DRM needs.
1.205 +
1.206 +// <DEPRECATED>
1.207 +// Range of bits that indicates that the message has some special content
1.208 +// that needs some non-standard handling
1.209 +const TUint32 KMmsSpecialContentMask = 0xF0000000;
1.210 +// undefined special content reserved for future use: 0x10000000
1.211 +// Special content is "postcard"
1.212 +const TUint32 KMmsPostcard = 0x20000000;
1.213 +// Special content is "upload"
1.214 +const TUint32 KMmsUpload = 0x40000000;
1.215 +// undefined special content reserved for future use: 0x80000000
1.216 +// </DEPRECATED>
1.217 +
1.218 +
1.219 +//-----------------------------------------------
1.220 +// Flag bits in iMtmData2
1.221 +// The default value for all bits is 0
1.222 +//-----------------------------------------------
1.223 +
1.224 +// Message notification stuff stored in iMtmData2
1.225 +// Response already sent to MMSC
1.226 +// or MMBox item for which notify response will not be sent.
1.227 +// (fetch acknowledged with M-Acknowledge.ind PDU)
1.228 +const TUint32 KMmsNotifyResponseSent = 0x00000001;
1.229 +// undecoded (binary) notification
1.230 +const TUint32 KMmsNotificationBinary = 0x00000002;
1.231 +
1.232 +// The following flags are related to notifications that are stored in inbox
1.233 +// to allow the messages to be fetched manually (not automatically)
1.234 +// has the message corresponding to this notification expired
1.235 +
1.236 +// Message corresponding to this notification has expired
1.237 +// 0 = Message has not expired, 1 = Message has expired
1.238 +const TUint32 KMmsMessageExpired = 0x00000004;
1.239 +
1.240 +// <DEPRECATED>
1.241 +const TUint32 KMmsDeleteAtExpiration = 0x00000008;
1.242 +// </DEPRECATED>
1.243 +
1.244 +// Operation mask. The next bits tell which operation is currently in progress.
1.245 +// When a message is being forwarded or fetched, another simulataneous operation
1.246 +// is not allowed.
1.247 +// 0 = no operation
1.248 +const TUint32 KMmsOperationIdentifier = 0x00000070;
1.249 +
1.250 +// fetch operation in progress
1.251 +const TUint32 KMmsOperationFetch = 0x00000010;
1.252 +// forward operation in progress or finished
1.253 +const TUint32 KMmsOperationForward = 0x00000020;
1.254 +// delete operation in progress or finished
1.255 +const TUint32 KMmsOperationDelete = 0x00000030;
1.256 +// 0x00000040 - 0x00000070 reserved for future operations
1.257 +
1.258 +// Operation progress bits (4 bits)
1.259 +
1.260 +// Is new operation allowed for this notification
1.261 +// 0 = new operation allowed
1.262 +// 1 = new operation forbidden
1.263 +const TUint32 KMmsNewOperationForbidden = 0x00000080;
1.264 +// Is operation currently ongoing
1.265 +// 0 = no operation
1.266 +// 1 = operation ongoing
1.267 +const TUint32 KMmsOperationOngoing = 0x00000100;
1.268 +// Has operation finished (and is result available)
1.269 +// 0 = operation has not finished
1.270 +// 1 = operation has finished
1.271 +const TUint32 KMmsOperationFinished = 0x00000200;
1.272 +// Operation result (if operation has finished)
1.273 +// 0 = OK
1.274 +// 1 = error
1.275 +const TUint32 KMmsOperationResult = 0x00000400;
1.276 +
1.277 +// Has message been stored to MMBox as result of some operation
1.278 +// or was it in MMBox originally
1.279 +// 0 = Message not in MMBox
1.280 +// 1 = Message stored in MMBox
1.281 +const TUint32 KMmsStoredInMMBox = 0x00000800;
1.282 +
1.283 +// 0 = Not applicable
1.284 +// 1 = Notification received in deferred mode, but response
1.285 +// sending was not allowed, and therefore notify-response
1.286 +// has not been sent to MMSC
1.287 +const TUint32 KMmsDeferredButResponseNotSent = 0x00001000;
1.288 +
1.289 +// This is some special notification that should never be
1.290 +// moved to inbox in manual mode even if fetching fails.
1.291 +// 0 = May be moved if needed
1.292 +// 1 = Do not move to inbox
1.293 +const TUint32 KMmsDoNotMoveToInbox = 0x00002000;
1.294 +
1.295 +// The message was addressed to an application
1.296 +// The message has been successfully fetched and routed to the application
1.297 +// Even if notification remains in inbox, no operations are allowed except
1.298 +// delete from phone.
1.299 +const TUint32 KMmsMessageRoutedToApplication = 0x00004000;
1.300 +
1.301 +// The following flags are for all message types
1.302 +
1.303 +// bits reserved for future use
1.304 +const TUint32 KMmsReservedMtmData2 = 0x000F8000;
1.305 +
1.306 +// Delivery status bytes, valid only for sent messages
1.307 +// that have been moved to "Sent" folder.
1.308 +// If the message has been copied or moved to another folder,
1.309 +// there is no guarantee that these bits are valid anymore.
1.310 +
1.311 +const TUint32 KMmsDeliveryStatusMask = 0x00F00000;
1.312 +// Delivery report was not requested
1.313 +// If the user specifies that no delivery reports are wanted,
1.314 +// the message stays in this state forever.
1.315 +// This status means that no delivery data is available.
1.316 +const TUint32 KMmsDeliveryStatusNotRequested = 0x00000000;
1.317 +
1.318 +// If Delivery reports have been requested, the number of
1.319 +// recipients and received delivery reports is stored in
1.320 +// iMtmData3
1.321 +
1.322 +// Delivery status is "pending" when the delivery status of all
1.323 +// recipients is "pending".
1.324 +const TUint32 KMmsDeliveryStatusPending = 0x00100000;
1.325 +// delivery status is "partial" when delivery raport about
1.326 +// successful delivery has been received from at least one recipient.
1.327 +const TUint32 KMmsDeliveryStatusPartial = 0x00200000;
1.328 +// delivery status is "failed" if sending has failed for at least
1.329 +// one recipient
1.330 +const TUint32 KMmsDeliveryStatysFailed = 0x00400000;
1.331 +// delivery status is "delivered" if the status of all
1.332 +// recipients is delivered
1.333 +const TUint32 KMmsDeliveryStatysDelivered = 0x00800000;
1.334 +
1.335 +
1.336 +// bits reserved for UI usage
1.337 +// MMS engine will not change these bits.
1.338 +// The default value for these bits will be 0.
1.339 +const TUint32 KMmsReservedForUI = 0xFF000000;
1.340 +
1.341 +//-----------------------------------------------
1.342 +// Flag bits in iMtmData3
1.343 +// The default value for all bits is 0
1.344 +//-----------------------------------------------
1.345 +
1.346 +// These are mask values for ranges of bits to be used as counters
1.347 +// The shift constants indicate how much the value must be shifted
1.348 +// right to be used as a number, and how much the number must be
1.349 +// shifted to left before being stored.
1.350 +
1.351 +// To examine the value use:
1.352 +// number = ( iMtmData3 & mask ) >> shift;
1.353 +// To set the value use:
1.354 +// iMtmData3 &= ~mask;
1.355 +// iMtmData3 |= number << shift;
1.356 +
1.357 +// Retry count mask ( for automatic retries )
1.358 +// max 15 retries counted
1.359 +const TUint32 KMmsRetryCountMask = 0x0000000F;
1.360 +// no shift needed for automatic retry count
1.361 +
1.362 +// Retry count mask ( for manual retries )
1.363 +// This is reserved for UI usage.
1.364 +// max 15 retries counted
1.365 +const TUint32 KMmsManualRetryCountMask = 0x000000F0;
1.366 +const TInt KMmsManualRetryCountShift = 4;
1.367 +
1.368 +// The following three areas are used to keep track of delivery status
1.369 +// of several recipients. These fields are valid only for messages
1.370 +// that have been sent and have been moved to sent folder.
1.371 +// The values are not valid in any other context as it is impossible
1.372 +// to prevent applications from copying messages behind MMS engine's back.
1.373 +// MMS engine tries to clear these bits in other places, but there is no
1.374 +// guarantee of that.
1.375 +
1.376 +// Total number of recipients
1.377 +// Max 255 recipients
1.378 +const TUint32 KMmsSentItemTotalRecipientsMask = 0x0000FF00;
1.379 +const TInt KMmsSentItemTotalRecipientsShift = 8;
1.380 +
1.381 +// Number of delivery reports with status "delivered"
1.382 +// Max 255 delivery reports
1.383 +const TUint32 KMmsSentItemSuccessfullyDeliveredMask = 0x00FF0000;
1.384 +const TInt KMmsSentItemSuccessfullyDeliveredShift = 16;
1.385 +
1.386 +// Number of delivery reports with status "failed"
1.387 +// Max 255 delivery reports
1.388 +const TUint32 KMmsSentItemFailedDeliveryMask = 0xFF000000;
1.389 +const TInt KMmsSentItemFailedDeliveryShift = 24;
1.390 +
1.391 +
1.392 +// End of MtmData bit definitions
1.393 +// ------------------------------------------------------
1.394 +
1.395 +// Unicode BOM
1.396 +const TUint16 KMmsByteOrderMark = 0xFEFF;
1.397 +const TUint16 KMmsReversedByteOrderMark = 0xFFFE;
1.398 +
1.399 +// Maximum iDescription read from text/plain file in terms of characters.
1.400 +const TInt KMmsMaxDescription = 128;
1.401 +
1.402 +// WSP assigned numbers
1.403 +const TInt8 KUidMmsWSPMultiPartMixed = 0x23;
1.404 +const TInt8 KUidMmsWSPMultiPartRelated = 0x33;
1.405 +
1.406 +// MMS specific field assignments
1.407 +// same values used for enum values in internal storage
1.408 +const TUint8 KMmsMessageClassPersonal = 128;
1.409 +const TUint8 KMmsMessageClassAdvertisement = 129;
1.410 +const TUint8 KMmsMessageClassInformational = 130;
1.411 +const TUint8 KMmsMessageClassAuto = 131;
1.412 +
1.413 +// X-Mms-Message-Type field
1.414 +// message types since encaps 1.0
1.415 +const TUint8 KMmsMessageTypeMSendReq = 128;
1.416 +const TUint8 KMmsMessageTypeMSendConf = 129;
1.417 +const TUint8 KMmsMessageTypeMNotificationInd = 130;
1.418 +const TUint8 KMmsMessageTypeMNotifyRespInd = 131;
1.419 +const TUint8 KMmsMessageTypeMRetrieveConf = 132;
1.420 +const TUint8 KMmsMessageTypeAcknowledgeInd = 133;
1.421 +const TUint8 KMmsMessageTypeDeliveryInd = 134;
1.422 +// message types since encaps 1.1
1.423 +const TUint8 KMmsMessageTypeReadRecInd = 135;
1.424 +const TUint8 KMmsMessageTypeReadOrigInd = 136;
1.425 +const TUint8 KMmsMessageTypeForwardReq = 137;
1.426 +const TUint8 KMmsMessageTypeForwardConf = 138;
1.427 +// message types since encaps 1.2
1.428 +const TUint8 KMmsMessageTypeMboxStoreReq = 139;
1.429 +const TUint8 KMmsMessageTypeMboxStoreConf = 140;
1.430 +const TUint8 KMmsMessageTypeMboxViewReq = 141;
1.431 +const TUint8 KMmsMessageTypeMboxViewConf = 142;
1.432 +const TUint8 KMmsMessageTypeMBoxUploadReq = 143;
1.433 +const TUint8 KMmsMessageTypeMBoxUploadConf = 144;
1.434 +const TUint8 KMmsMessageTypeMBoxDeleteReq = 145;
1.435 +const TUint8 KMmsMessageTypeMBoxDeleteConf = 146;
1.436 +const TUint8 KMmsMessageTypeMBoxDescr = 147;
1.437 +// message types since encaps 1.3
1.438 +const TUint8 KMmsMessageTypeDeleteReq = 148;
1.439 +const TUint8 KMmsMessageTypeDeleteConf = 149;
1.440 +const TUint8 KMmsMessageTypeCancelReq = 150;
1.441 +const TUint8 KMmsMessageTypeCancelConf = 151;
1.442 +
1.443 +
1.444 +// X-Mms-Priority field
1.445 +const TUint8 KMmsPriorityLow = 128;
1.446 +const TUint8 KMmsPriorityNormal = 129;
1.447 +const TUint8 KMmsPriorityHigh = 130;
1.448 +
1.449 +// All fields with Yes/No value
1.450 +const TUint8 KMmsYes = 128;
1.451 +const TUint8 KMmsNo = 129;
1.452 +
1.453 +// X-Mms-Sender-Visibility field
1.454 +const TUint8 KMmsSenderHide = 128;
1.455 +const TUint8 KMmsSenderShow = 129;
1.456 +
1.457 +// X-Mms-Status field
1.458 +const TUint8 KMmsMessageStatusExpired = 128;
1.459 +const TUint8 KMmsMessageStatusRetrieved = 129;
1.460 +const TUint8 KMmsMessageStatusRejected = 130;
1.461 +const TUint8 KMmsMessageStatusDeferred = 131;
1.462 +const TUint8 KMmsMessageStatusUnrecognized = 132;
1.463 +const TUint8 KMmsMessageStatusIndeterminate = 133;
1.464 +const TUint8 KMmsMessageStatusForwarded = 134;
1.465 +const TUint8 KMmsMessageStatusUnreachable = 135;
1.466 +
1.467 +// X-Mms-Read-Status field
1.468 +const TUint8 KMmsReadStatusRead = 128;
1.469 +const TUint8 KMmsReadStatusDeletedWithoutBeingRead = 129;
1.470 +
1.471 +// X-Mms-Reply-Charging field
1.472 +const TUint8 KMmsReplyChargingRequested = 128;
1.473 +const TUint8 KMmsReplyChargingRequestedTextOnly = 129;
1.474 +const TUint8 KMmsReplyChargingAccepted = 130;
1.475 +const TUint8 KMmsReplyChargingAcceptedTextOnly = 131;
1.476 +
1.477 +// field assignments since MMS encapsulation 1.2
1.478 +
1.479 +// X-Mms-Mbox-Quotas field & // X-Mms-MBox-Totals field
1.480 +const TUint8 KMmsMessageCountToken = 128;
1.481 +const TUint8 KMmsMessageSizeToken = 129;
1.482 +
1.483 +// X-Mms-MM-Flags field
1.484 +const TUint8 KMmsAddToken = 128;
1.485 +const TUint8 KMmsRemoveToken = 129;
1.486 +const TUint8 KMmsFilterToken = 130;
1.487 +
1.488 +// X-Mms-MM-State field
1.489 +const TUint8 KMmsDraft = 128;
1.490 +const TUint8 KMmsSent = 129;
1.491 +const TUint8 KMmsNew = 130;
1.492 +const TUint8 KMmsRetrieved = 131;
1.493 +const TUint8 KMmsForwarded = 132;
1.494 +
1.495 +// Response status or Retrieve status OK
1.496 +const TInt KMmsResponseStatusOK = 128;
1.497 +
1.498 +// field assignments since MMS encapsulation 1.3
1.499 +// These will be needed when 1.3 version is supported (not yet)
1.500 +
1.501 +// X-Mms-Cancel-Status field
1.502 +const TUint8 KMmsCancelRequestSuccessfullyReceived = 128;
1.503 +const TUint8 KMmsCancelRequestCorrupted = 129;
1.504 +
1.505 +// X-Mms-Content-Class field
1.506 +const TUint8 KMmsContentClassText = 128;
1.507 +const TUint8 KMmsContentClassImageBasic = 129;
1.508 +const TUint8 KMmsContentClassImageRich = 130;
1.509 +const TUint8 KMmsContentClassVideoBasic = 131;
1.510 +const TUint8 KMmsContentClassVideoRich = 132;
1.511 +const TUint8 KMmsContentClassMegaPixel = 133;
1.512 +const TUint8 KMmsContentClassContentBasic = 134;
1.513 +const TUint8 KMmsContentClassContentRich = 135;
1.514 +
1.515 +// X-Mms-Recommended-Retrieval-mode field
1.516 +const TUint8 KMmsRecommendedRetrievalModeManual = 128;
1.517 +
1.518 +// end of field assignments
1.519 +
1.520 +// All content type strings are in KContentTypeTable
1.521 +// some are defined here to be used separately
1.522 +_LIT8( KMmsAny, "*/*" );
1.523 +_LIT8( KMmsTextPlain, "text/plain" );
1.524 +_LIT8( KMmsApplicationSmil, "application/smil" );
1.525 +_LIT8( KMmsUnknownType, "application/octet-stream" );
1.526 +_LIT8( KMmsMultipartReport, "multipart/report" );
1.527 +
1.528 +// DRM Content subtypes. CMsvMimeHeaders class saves type and subtype separately
1.529 +_LIT8( KMmsDrmMessageCT, "vnd.oma.drm.message" ); // DRM Message
1.530 +_LIT8( KMmsDrmContentCT, "vnd.oma.drm.content" ); // DRM Content
1.531 +_LIT8( KMmsDrmRightsTFCT, "vnd.oma.drm.rights+xml" ); // DRM Rights in textual format
1.532 +_LIT8( KMmsDrmRightsBFCT, "vnd.oma.drm.rights+wbxml" ); // DRM Rights in binary format
1.533 +_LIT8( KMmsDrmDcfCT, "vnd.oma.drm.dcf" ); // DRM Content format for discrete media
1.534 +
1.535 +// Content type parameters used by Java WMA to specify application id
1.536 +_LIT8( KMmsJavaApplicationId, "Application-ID" );
1.537 +_LIT8( KMmsJavaReplyApplicationId, "Reply-To-Application-ID" );
1.538 +
1.539 +// Assigned numbers for content types
1.540 +// If new assignments are needed, check numbers from KContentTypeTable
1.541 +const TUint8 KMmsAssignedAny = 0x00;
1.542 +const TUint8 KMmsAssignedText = 0x01;
1.543 +const TUint8 KMmsAssignedTextPlain = 0x03;
1.544 +const TUint8 KMmsAssignedApplicationVndWapMultipart = 0x22;
1.545 +const TUint8 KMmsAssignedApplicationVndWapMultipartMixed = 0x23;
1.546 +const TUint8 KMmsAssignedApplicationVndWapMultipartAlternative = 0x26;
1.547 +const TUint8 KMmsAssignedApplicationXml = 0x27;
1.548 +const TUint8 KMmsAssignedApplicationVndWapWbxml = 0x29;
1.549 +const TUint8 KMmsAssignedApplicationVndWapMultipartRelated = 0x33;
1.550 +
1.551 +// IANA / WSP numbers for character sets
1.552 +const TUint8 KMmsUtf8 = 0x6A;
1.553 +const TUint8 KMmsUsAscii = 0x03;
1.554 +const TUint KMmsIso10646Ucs2 = 0x03E8; // 1000
1.555 +const TUint KMmsUTF16 = 0x03F7; // 1015
1.556 +const TUint KMmsUTF16BE = 0x03F5; // 1013
1.557 +const TUint KMmsUTF16LE = 0x03F6; // 1014
1.558 +const TUint KMmsUtf7 = 0x03F4; // 1012
1.559 +
1.560 +// CR/LF definitions for removal...
1.561 +_LIT ( KLf16, "\x00A" ); // 16 bit line feed
1.562 +_LIT ( KCr16, "\x00D" ); // 16 bit carriage return
1.563 +_LIT ( KSpace16, " " ); // 16 bit space
1.564 +_LIT ( KEqualsQuestion16, "=?" ); // MIME encoding starter
1.565 +_LIT ( KQuote16, "\x022" ); // 16 bit quote
1.566 +_LIT ( KMmsUnicodeLineSeparator, "\x2028");
1.567 +_LIT ( KMmsUnicodeParagraphSeparator, "\x2029");
1.568 +_LIT ( KMmsIdeographicSpace, "\x3000");
1.569 +_LIT8 ( KLf8, "\x00A" ); // 8 bit line feed
1.570 +_LIT8 ( KCr8, "\x00D" ); // 8 bit carriage return
1.571 +_LIT8 ( KSpace8, " " ); // 8 bit space
1.572 +_LIT8 ( KSemicolon8, ";" ); // 8 bit semicolon
1.573 +_LIT8 ( KEquals8, "=" ); // 8 bit equal
1.574 +_LIT8 ( KMmsSlash8, "/"); // 8 bit slash
1.575 +_LIT8 ( KMmsLeftAngle, "<"); // 8 bit angle bracket
1.576 +_LIT8 ( KMmsRightAngle, ">"); // 8 bit angle bracket
1.577 +
1.578 +// MACROS
1.579 +
1.580 +// DATA TYPES
1.581 +
1.582 +// Possible address types
1.583 +enum TMmsAddressType
1.584 + {
1.585 + EMmsAddressTypeUnknown = 0,
1.586 + EMmsAddressTypeMobile,
1.587 + EMmsAddressTypeEmail,
1.588 + EMmsAddressTypeIpv4,
1.589 + EMmsAddressTypeIpv6
1.590 + };
1.591 +
1.592 +// These panics should only be used in ASSERT_DEBUGs
1.593 +// (The user should not see these)
1.594 +enum TMmsPanic // MMS error codes
1.595 + {
1.596 + EMmsBadMtmTypeUid = KErrNone+1,
1.597 + EMmsNoCMsvEntrySet,
1.598 + EMmsEntryTypeNotSupported,
1.599 + EMmsHeadersNotFound,
1.600 + EMmsAlreadyBusy,
1.601 + EMmsUnknownState,
1.602 + EMmsActiveInFinalProgress,
1.603 + EMmsFinalProgressFailed,
1.604 + EMmsNotAMessageEntry
1.605 + };
1.606 +
1.607 +
1.608 +// Values for recipient types
1.609 +// <DEPRECATED>
1.610 +// old TMmsRecipients type values should not be used any more!
1.611 +// instead use TMsvRecipientType values by Symbian!
1.612 +typedef TMsvRecipientType TMmsRecipients;
1.613 +#define EMmsTo EMsvRecipientTo
1.614 +#define EMmsCc EMsvRecipientCc
1.615 +#define EMmsBcc EMsvRecipientBcc
1.616 +// </DEPRECATED>
1.617 +
1.618 +enum TMmsYesNo
1.619 + {
1.620 + EMmsYes = KMmsYes,
1.621 + EMmsNo = KMmsNo
1.622 + };
1.623 +
1.624 +// Values for message Delivery-Report
1.625 +typedef TMmsYesNo TMmsMessageDeliveryReport;
1.626 +// Values for Delivery-Report allowed
1.627 +typedef TMmsYesNo TMmsSettingsDeliveryReportAllowed;
1.628 +// Values for message Read-Reply
1.629 +typedef TMmsYesNo TMmsMessageReadReply;
1.630 +// Values for Read-Reply sending allowed
1.631 +typedef TMmsYesNo TMmsSettingsReadReplyAllowed;
1.632 +
1.633 +// <DEPRECATED>
1.634 +// use EMmsYes and EMmsNo instead
1.635 +#define EMmsDeliveryReportYes EMmsYes
1.636 +#define EMmsDeliveryReportNo EMmsNo
1.637 +
1.638 +#define EMmsDeliveryReportAllowedYes EMmsYes
1.639 +#define EMmsDeliveryReportAllowedNo EMmsNo
1.640 +
1.641 +#define EMmsReadReplyYes EMmsYes
1.642 +#define EMmsReadreplyNo EMmsNo
1.643 +
1.644 +#define EMmsReadReplyAllowedYes EMmsYes
1.645 +#define EMmsReadReplyAllowedNo EMmsNo
1.646 +// </DEPRECATED>
1.647 +
1.648 +// Values for message class
1.649 +enum TMmsMessageClass
1.650 + {
1.651 + EMmsMimimumMessageClass = KMmsMessageClassPersonal,
1.652 + EMmsClassPersonal = KMmsMessageClassPersonal,
1.653 + EMmsClassAdvertisement = KMmsMessageClassAdvertisement,
1.654 + EMmsClassInformational = KMmsMessageClassInformational,
1.655 + EMmsClassAuto = KMmsMessageClassAuto,
1.656 + // change following if new message classes are added
1.657 + EMmsMaximumMessageClass = KMmsMessageClassAuto
1.658 + };
1.659 +
1.660 +// Values for message priority
1.661 +enum TMmsMessagePriority
1.662 + {
1.663 + EMmsMinimumPriority = KMmsPriorityLow,
1.664 + EMmsPriorityLow = KMmsPriorityLow,
1.665 + EMmsPriorityNormal = KMmsPriorityNormal,
1.666 + EMmsPriorityHigh = KMmsPriorityHigh,
1.667 + // change following if new priorities added
1.668 + EMmsMaximumPriority = KMmsPriorityHigh
1.669 + };
1.670 +
1.671 +// Values for message Sender-Visibility
1.672 +enum TMmsMessageSenderVisibility
1.673 + {
1.674 + EMmsSenderVisibilityDefault = 0,
1.675 + EMmsMinimumSenderVisibility = KMmsSenderHide, // always minimum
1.676 + EMmsSenderVisibilityHide = KMmsSenderHide,
1.677 + EMmsSenderVisibilityShow = KMmsSenderShow,
1.678 + EMmsMaximumSenderVisibility = KMmsSenderShow // change if new values added
1.679 + };
1.680 +
1.681 +
1.682 +// Values for MMS Creation mode
1.683 +enum TMmsCreationMode
1.684 + {
1.685 + EMmsCreationModeRestricted = 0,
1.686 + EMmsCreationModeWarning = 1,
1.687 + EMmsCreationModeFree = 2
1.688 + };
1.689 +
1.690 +// <DEPRECATED>
1.691 +// Values for Message-Type field
1.692 +// correspond to binary encoding!
1.693 +// Message type cannot be set using Client MTM
1.694 +// Use KMms constants instead.
1.695 +enum TMmsMessageType
1.696 + {
1.697 + EMmsMSendReq = KMmsMessageTypeMSendReq,
1.698 + EMmsMSendConf = KMmsMessageTypeMSendConf,
1.699 + EMmsNotificationInd = KMmsMessageTypeMNotificationInd,
1.700 + EMmsNotifyRespInd = KMmsMessageTypeMNotifyRespInd,
1.701 + EMmsRetrieveConf = KMmsMessageTypeMRetrieveConf,
1.702 + EMmsAcknowledgeInd = KMmsMessageTypeAcknowledgeInd,
1.703 + EMmsDeliveryInd = KMmsMessageTypeDeliveryInd,
1.704 + EMmsReadRecInd = KMmsMessageTypeReadRecInd,
1.705 + EMmsReadOrigInd = KMmsMessageTypeReadOrigInd,
1.706 + EMmsForwardReq = KMmsMessageTypeForwardReq,
1.707 + EMmsForwardConf = KMmsMessageTypeForwardConf
1.708 + };
1.709 +// </DEPRECATED>
1.710 +
1.711 +
1.712 +// <DEPRECATED>
1.713 +// Values for Status field
1.714 +// correspond to binary encoding!
1.715 +// Use KMms constants instead.
1.716 +enum TMmsMessageStatus
1.717 + {
1.718 + EMmsStatusExpired = KMmsMessageStatusExpired,
1.719 + EMmsStatusRetrieved = KMmsMessageStatusRetrieved,
1.720 + EMmsStatusRejected = KMmsMessageStatusRejected,
1.721 + EMmsStatusDeferred = KMmsMessageStatusDeferred,
1.722 + EMmsStatusUnrecognized = KMmsMessageStatusUnrecognized,
1.723 + EMmsStatusIndeterminate = KMmsMessageStatusIndeterminate,
1.724 + EMmsStatusForwarded = KMmsMessageStatusForwarded,
1.725 + EMmsStatusUnreachable = KMmsMessageStatusUnreachable
1.726 + };
1.727 +// </DEPRECATED>
1.728 +
1.729 +// Values for read status
1.730 +// correspond to binary encoding!
1.731 +enum TMmsReadStatus
1.732 + {
1.733 + EMmsReadStatusRead = KMmsReadStatusRead,
1.734 + EMmsReadStatusDeletedWithoutBeingRead = KMmsReadStatusDeletedWithoutBeingRead
1.735 + };
1.736 +
1.737 +enum TMmsReplyCharging
1.738 + {
1.739 + EMmsReplyChargingRequested = KMmsReplyChargingRequested,
1.740 + EMmsReplyChargingRequestedTextOnly = KMmsReplyChargingRequestedTextOnly,
1.741 + EMmsReplyChargingAccepted = KMmsReplyChargingAccepted,
1.742 + EMmsReplyChargingAcceptedTextOnly = KMmsReplyChargingAcceptedTextOnly
1.743 + };
1.744 +
1.745 +// mms receiving mode
1.746 +enum TMmsReceivingMode
1.747 + {
1.748 + EMmsReceivingMin = 1,
1.749 + EMmsReceivingAutomatic = EMmsReceivingMin,
1.750 + EMmsReceivingManual = EMmsReceivingMin + 1,
1.751 + EMmsReceivingPostpone = EMmsReceivingManual + 1,
1.752 + EMmsReceivingReject = EMmsReceivingPostpone + 1,
1.753 + EMmsReceivingMax = EMmsReceivingReject
1.754 + };
1.755 +
1.756 +// Factory settings
1.757 +enum TMmsFactorySettingsLevel
1.758 + {
1.759 + EMmsFactorySettingsLevelNormal = 0x0,
1.760 + EMmsFactorySettingsLevelDeep
1.761 + };
1.762 +
1.763 +// Type of the Delete operation
1.764 +enum TMmsDeleteOperationType
1.765 + {
1.766 + EMmsDeleteNotificationOnly,
1.767 + EMmsDeleteMMBoxOnly,
1.768 + EMmsDeleteBoth
1.769 + };
1.770 +
1.771 +#endif // MMSCONST_H
1.772 +
1.773 +// End of File