epoc32/include/app/mmsconst.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
     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