mmsconst.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : MmsConst.h
00004 *  Part of  : MmsEngine
00005 *
00006 *  Description:
00007 *     Miscellaneous constants needed by MmsEngine and its clients
00008 *     (e.g. MCE and DeviceManagement)
00009 *  Version:
00010 *
00011 *  Copyright (C) 2002-2006 Nokia Corporation.
00012 *  This material, including documentation and any related
00013 *  computer programs, is protected by copyright controlled by
00014 *  Nokia Corporation. All rights are reserved. Copying,
00015 *  including reproducing, storing,  adapting or translating, any
00016 *  or all of this material requires the prior written consent of
00017 *  Nokia Corporation. This material also contains confidential
00018 *  information which may not be disclosed to others without the
00019 *  prior written consent of Nokia Corporation.
00020 *
00021 * ============================================================================
00022 */
00023 
00024 #ifndef MMSCONST_H
00025 #define MMSCONST_H
00026 
00027 //  INCLUDES
00028 #include <msvuids.h>
00029 #include <msvstd.hrh>
00030 #include <e32std.h>
00031 #include <cmsvrecipientlist.h>
00032 
00033 // CONSTANTS
00034 
00035 // NOTE: January = 0! 1st day of month = 0!
00036 _LIT( KMmsYear1970String, "19700000:000000.000000" );
00037 
00038 // <DEPRECATED>
00039 // This is the resource file that contains factory values
00040 // for error actions (for scheduled sending and receiving)
00041 _LIT(KMmsResourceDriveAndFile, "z:mmsserver.rsc");
00042 // </DEPRECATED>
00043 
00044 _LIT(KMMSNotificationFolder, "MMSNotifications");
00045 _LIT(KMmsMmboxFolder, "MmsMmbox");
00046 
00047 // constant for conversion between seconds and microseconds
00048 const TInt KMmsMillion = 1000000;
00049 
00050 const TInt KMmsDateBufferLength = 30;
00051 
00052 //
00053 // Image size definitions - Not used by MMS engine
00054 // anyone who needs image size constants, should define their own
00055 //
00056 //
00057 // <DEPRECATED>
00058 // 160*120
00059 const TInt KMmsImageSmallWidth = 160;
00060 const TInt KMmsImageSmallHeight = 120;
00061 // 640*480
00062 const TInt KMmsImageLargeWidth = 640;
00063 const TInt KMmsImageLargeHeight = 480;
00064 // Original
00065 const TInt KMmsImageOriginalWidth = KMaxTInt;
00066 const TInt KMmsImageOriginalHeight = KMaxTInt;
00067 // </DEPRECATED>
00068 
00069 // This is the extra amount of disk space that will be taken
00070 // up by the index entry when creating new message entries.
00071 // This is a crude estimate. It is defined here as a constant
00072 // to allow it to be made more accurate by changing the value
00073 // in only one place.
00074 const TInt KMmsIndexEntryExtra = 80;
00075 
00076 // This is the safety margin for fetching MMS messages.
00077 // There should be at least this much extra disk space
00078 // before a message can be fetched. A new message takes
00079 // more disk space than the amount indicated in the
00080 // notification.
00081 const TInt KMmsDiskSafetyMargin = 25000;
00082 
00083 //
00084 // DLL UIDs that might be needed
00085 //
00086 const TUid KUidMmsServerMtm={0x100058DB};
00087 const TUid KUidMmsClientMtm={0x100058DC};
00088 const TUid KUidMmsClientUIMtm={0x100058DD};
00089 const TUid KUidMmsClientUIDataMtm={0x100058DD};
00090 // editor and viewer
00091 const TInt KUidMsgMmsEditor={0x100058DE};
00092 const TInt KUidMsgMmsViewer={0x100058DF};
00093 
00094 // message types
00095 const TUid KUidMsgTypeMultimedia={0x100058E1};
00096 const TUid KUidMsvTechnologyGroupMMS={0x100058E2};
00097 const TUid KUidMsgMMSNotification={0x100059C8};
00098 
00099 // message subtypes
00100 const TUid KUidMsgSubTypeMmsUpload={0x102072CD};
00101 const TUid KUidMsgSubTypeMmsPostcard={0x102072CE};
00102 const TUid KUidMsgSubTypeMmsAudioMsg={0x1020744F};
00103 
00104 //
00105 // Stream UIDs
00106 //
00107 // Globally unique values have been allocated to all streams
00108 // MMS headers
00109 const TUid KUidMmsHeaderStream={0x101FB0ED};
00110 // recipient scheduling info
00111 const TUid KUidMmsRecipientStream={0x101FB0EE};
00112 // Notification or delivery report in binary format
00113 const TUid KUidBinaryNotificationStream={0x101FB0EF};
00114 // element descriptor info, only in notification
00115 const TUid KUidMMsElementDescriptorStream = {0x101FB0F0};
00116 // MMBox headers that can be present in several message PDUs
00117 const TUid KUidMMsMMBoxMessageHeaderStream = {0x101FB0F1};
00118 // MMBox headers that are present in MMBox view request and confirmation only
00119 const TUid KUidMMsMMBoxViewHeadersStream = {0x101FB0F2};
00120 // Extra info (message text) present in extended notification.
00121 const TUid KUidMMsExtendedNotificationStream = {0x101FB0F3};
00122 // Attributes for UI use
00123 const TUid KUidMmsAttributeStream = {0x101FB0F4};
00124 // Application id and return-to application id
00125 const TUid KUidMmsApplicationInfoStream = {0x101FB0F5};
00126 // Reserved for internal use
00127 // This stream contains all kinds of unusual information that is rarely present
00128 // These are not part of an actual message, but control the transactions.
00129 // - recommended retrieval mode
00130 // - recommended retrieval mode text
00131 // - replace or cancel id
00132 // - cancel status
00133 const TUid KUidMmsReserved = {0x101FB0F6};
00134 
00135 //
00136 // Log entry event type uid (used unless Symbian allocates an id instead)
00137 //
00138 const TUid KLogMmsEventTypeUid = {0x1000595e};
00139 
00140 //-----------------------------------------------
00141 // Flag bits in iMtmData1
00142 // The default value for all bits is 0
00143 //-----------------------------------------------
00144 // Message types stored in iMtmData1
00145 // The message types defined are those that could actually be found
00146 // in message store. Values for transient types are not defined.
00147 const TUint32 KMmsMessageTypeMask =         0x0000000F;
00148 const TUint32 KMmsMessageMSendReq =         0x00000001;
00149 // reserved for future use                  0x00000002;
00150 const TUint32 KMmsMessageMNotificationInd = 0x00000003;
00151 // reserved for future use                  0x00000004;
00152 const TUint32 KMmsMessageMRetrieveConf =    0x00000005;
00153 // reserved for future use                  0x00000006;
00154 const TUint32 KMmsMessageDeliveryInd =      0x00000007;
00155 const TUint32 KMmsMessageReadRecInd =       0x00000008;
00156 const TUint32 KMmsMessageReadOrigInd =      0x00000009;
00157 const TUint32 KMmsMessageForwardReq =       0x0000000A;
00158 // reserved for future use                  0x0000000B;
00159 // reserved for future use                  0x0000000C;
00160 // reserved for future use                  0x0000000D;
00161 // reserved for future use                  0x0000000E;
00162 // This must be the last one to allow some expansion for known types
00163 const TUint32 KMmsMessageUnrecognized =     0x0000000F;
00164 
00165 // Message state stored in iMtmData1
00166 const TUint32 KMmsMessageEncrypted =        0x00000010;
00167 const TUint32 KMmsMessageSigned =           0x00000020;
00168 const TUint32 KMmsMessageForwarded =        0x00000040;
00169 const TUint32 KMmsMessageMobileTerminated = 0x00000080;
00170 const TUint32 KMmsMessageEditorOriented =   0x00000100;
00171 
00172 // bit to indicate that attribute stream is present in entry
00173 const TUint32 KMmsAttributeStreamPresent =  0x00000200;
00174 
00175 // reserved for future use
00176 // 0x00000400
00177 // 0x00000800
00178 
00179 // Message type flags
00180 // 1 byte reserved (0x0000F000)
00181 // If no flag is set, message is personal (default)
00182 const TUint32 KMmsMessageClassMask     =    0x0000F000;
00183 const TUint32 KMmsMessageAdvertisement =    0x00001000;
00184 const TUint32 KMmsMessageInformational =    0x00002000;
00185 // two message types can be added (0x00004000 and 0x00008000)
00186 
00187 // Some free bits here...
00188 const TUint32 KMmsReservedMtmData1 = 0x00FF0000;
00189 
00190 // Bit that indicates if the message contains non-conformant content.
00191 // Default value is 0.
00192 // 0 = Message is conformant, or the content is unknown (created by legacy software)
00193 // 1 = Message is known to contain non-conformant content.
00194 const TUint32 KMmsNonConformantMessage =   0x01000000;
00195 
00196 // DRM Status in iMtmData1
00197 // A DRM attachment is corrupted and removed
00198 const TUint32 EMmsDrmCorruptedAttachment =              0x02000000;
00199 
00200 // Here is still a gap here: bits 0x0C000000 are free.
00201 // (flags 0x04000000 and 0x08000000)
00202 // Should be reserved for future DRM needs.
00203 
00204 // <DEPRECATED>
00205 // Range of bits that indicates that the message has some special content
00206 // that needs some non-standard handling
00207 const TUint32 KMmsSpecialContentMask =  0xF0000000;
00208 // undefined special content reserved for future use:  0x10000000
00209 // Special content is "postcard"
00210 const TUint32 KMmsPostcard =            0x20000000;
00211 // Special content is "upload"
00212 const TUint32 KMmsUpload =              0x40000000;
00213 // undefined special content reserved for future use:  0x80000000
00214 // </DEPRECATED>
00215 
00216 
00217 //-----------------------------------------------
00218 // Flag bits in iMtmData2
00219 // The default value for all bits is 0
00220 //-----------------------------------------------
00221 
00222 // Message notification stuff stored in iMtmData2
00223 // Response already sent to MMSC
00224 // or MMBox item for which notify response will not be sent.
00225 // (fetch acknowledged with M-Acknowledge.ind PDU)
00226 const TUint32 KMmsNotifyResponseSent = 0x00000001;
00227 // undecoded (binary) notification
00228 const TUint32 KMmsNotificationBinary = 0x00000002;
00229 
00230 // The following flags are related to notifications that are stored in inbox
00231 // to allow the messages to be fetched manually (not automatically)
00232 // has the message corresponding to this notification expired
00233 
00234 // Message corresponding to this notification has expired
00235 // 0 = Message has not expired, 1 = Message has expired
00236 const TUint32 KMmsMessageExpired =     0x00000004;
00237 
00238 // <DEPRECATED>
00239 const TUint32 KMmsDeleteAtExpiration = 0x00000008;
00240 // </DEPRECATED>
00241 
00242 // Operation mask. The next bits tell which operation is currently in progress.
00243 // When a message is being forwarded or fetched, another simulataneous operation
00244 // is not allowed.
00245 // 0 = no operation
00246 const TUint32 KMmsOperationIdentifier = 0x00000070;
00247 
00248 // fetch operation in progress
00249 const TUint32 KMmsOperationFetch =      0x00000010;
00250 // forward operation in progress or finished
00251 const TUint32 KMmsOperationForward =    0x00000020;
00252 // delete operation in progress or finished
00253 const TUint32 KMmsOperationDelete =     0x00000030;
00254 // 0x00000040 - 0x00000070 reserved for future operations
00255 
00256 // Operation progress bits (4 bits)
00257 
00258 // Is new operation allowed for this notification
00259 // 0 = new operation allowed
00260 // 1 = new operation forbidden
00261 const TUint32 KMmsNewOperationForbidden = 0x00000080;
00262 // Is operation currently ongoing
00263 // 0 = no operation
00264 // 1 = operation ongoing
00265 const TUint32 KMmsOperationOngoing =      0x00000100;
00266 // Has operation finished (and is result available)
00267 // 0 = operation has not finished
00268 // 1 = operation has finished
00269 const TUint32 KMmsOperationFinished =     0x00000200;
00270 // Operation result (if operation has finished)
00271 // 0 = OK
00272 // 1 = error
00273 const TUint32 KMmsOperationResult =       0x00000400;
00274 
00275 // Has message been stored to MMBox as result of some operation
00276 // or was it in MMBox originally
00277 // 0 = Message not in MMBox
00278 // 1 = Message stored in MMBox
00279 const TUint32 KMmsStoredInMMBox =         0x00000800;
00280 
00281 // 0 = Not applicable
00282 // 1 = Notification received in deferred mode, but response
00283 //     sending was not allowed, and therefore notify-response
00284 //     has not been sent to MMSC
00285 const TUint32 KMmsDeferredButResponseNotSent = 0x00001000;
00286 
00287 // This is some special notification that should never be
00288 // moved to inbox in manual mode even if fetching fails.
00289 // 0 = May be moved if needed
00290 // 1 = Do not move to inbox
00291 const TUint32 KMmsDoNotMoveToInbox = 0x00002000;
00292 
00293 // The message was addressed to an application
00294 // The message has been successfully fetched and routed to the application
00295 // Even if notification remains in inbox, no operations are allowed except
00296 // delete from phone.
00297 const TUint32 KMmsMessageRoutedToApplication = 0x00004000;
00298 
00299 // The following flags are for all message types
00300 
00301 // bits reserved for future use
00302 const TUint32 KMmsReservedMtmData2 =      0x000F8000;
00303 
00304 // Delivery status bytes, valid only for sent messages
00305 // that have been moved to "Sent" folder.
00306 // If the message has been copied or moved to another folder,
00307 // there is no guarantee that these bits are valid anymore.
00308 
00309 const TUint32 KMmsDeliveryStatusMask = 0x00F00000;
00310 // Delivery report was not requested
00311 // If the user specifies that no delivery reports are wanted,
00312 // the message stays in this state forever.
00313 // This status means that no delivery data is available.
00314 const TUint32 KMmsDeliveryStatusNotRequested = 0x00000000;
00315 
00316 // If Delivery reports have been requested, the number of
00317 // recipients and received delivery reports is stored in
00318 // iMtmData3
00319 
00320 // Delivery status is "pending" when the delivery status of all
00321 // recipients is "pending".
00322 const TUint32 KMmsDeliveryStatusPending = 0x00100000;
00323 // delivery status is "partial" when delivery raport about
00324 // successful delivery has been received from at least one recipient.
00325 const TUint32 KMmsDeliveryStatusPartial = 0x00200000;
00326 // delivery status is "failed" if sending has failed for at least
00327 // one recipient
00328 const TUint32 KMmsDeliveryStatysFailed = 0x00400000;
00329 // delivery status is "delivered" if the status of all
00330 // recipients is delivered
00331 const TUint32 KMmsDeliveryStatysDelivered = 0x00800000;
00332 
00333 
00334 // bits reserved for UI usage
00335 // MMS engine will not change these bits.
00336 // The default value for these bits will be 0.
00337 const TUint32 KMmsReservedForUI =         0xFF000000;
00338 
00339 //-----------------------------------------------
00340 // Flag bits in iMtmData3
00341 // The default value for all bits is 0
00342 //-----------------------------------------------
00343 
00344 // These are mask values for ranges of bits to be used as counters
00345 // The shift constants indicate how much the value must be shifted
00346 // right to be used as a number, and how much the number must be
00347 // shifted to left before being stored.
00348 
00349 // To examine the value use:
00350 // number = ( iMtmData3 & mask ) >> shift;
00351 // To set the value use:
00352 // iMtmData3 &= ~mask;
00353 // iMtmData3 |= number << shift;
00354 
00355 // Retry count mask ( for automatic retries )
00356 // max 15 retries counted
00357 const TUint32 KMmsRetryCountMask =          0x0000000F;
00358 // no shift needed for automatic retry count
00359 
00360 // Retry count mask ( for manual retries )
00361 // This is reserved for UI usage.
00362 // max 15 retries counted
00363 const TUint32 KMmsManualRetryCountMask =    0x000000F0;
00364 const TInt KMmsManualRetryCountShift = 4;
00365 
00366 // The following three areas are used to keep track of delivery status
00367 // of several recipients. These fields are valid only for messages
00368 // that have been sent and have been moved to sent folder.
00369 // The values are not valid in any other context as it is impossible
00370 // to prevent applications from copying messages behind MMS engine's back.
00371 // MMS engine tries to clear these bits in other places, but there is no
00372 // guarantee of that.
00373 
00374 // Total number of recipients
00375 // Max 255 recipients
00376 const TUint32 KMmsSentItemTotalRecipientsMask = 0x0000FF00;
00377 const TInt KMmsSentItemTotalRecipientsShift = 8;
00378 
00379 // Number of delivery reports with status "delivered"
00380 // Max 255 delivery reports
00381 const TUint32 KMmsSentItemSuccessfullyDeliveredMask = 0x00FF0000;
00382 const TInt KMmsSentItemSuccessfullyDeliveredShift = 16;
00383 
00384 // Number of delivery reports with status "failed"
00385 // Max 255 delivery reports
00386 const TUint32 KMmsSentItemFailedDeliveryMask = 0xFF000000;
00387 const TInt KMmsSentItemFailedDeliveryShift = 24;
00388 
00389 
00390 // End of MtmData bit definitions
00391 // ------------------------------------------------------
00392 
00393 // Unicode BOM
00394 const TUint16 KMmsByteOrderMark = 0xFEFF;
00395 const TUint16 KMmsReversedByteOrderMark = 0xFFFE;
00396 
00397 // Maximum iDescription read from text/plain file in terms of characters.
00398 const TInt KMmsMaxDescription = 128;
00399 
00400 // WSP assigned numbers
00401 const TInt8 KUidMmsWSPMultiPartMixed = 0x23;
00402 const TInt8 KUidMmsWSPMultiPartRelated = 0x33;
00403 
00404 // MMS specific field assignments
00405 // same values used for enum values in internal storage
00406 const TUint8 KMmsMessageClassPersonal = 128;
00407 const TUint8 KMmsMessageClassAdvertisement = 129;
00408 const TUint8 KMmsMessageClassInformational = 130;
00409 const TUint8 KMmsMessageClassAuto = 131;
00410 
00411 // X-Mms-Message-Type field
00412 // message types since encaps 1.0
00413 const TUint8 KMmsMessageTypeMSendReq = 128;
00414 const TUint8 KMmsMessageTypeMSendConf = 129;
00415 const TUint8 KMmsMessageTypeMNotificationInd = 130;
00416 const TUint8 KMmsMessageTypeMNotifyRespInd = 131;
00417 const TUint8 KMmsMessageTypeMRetrieveConf = 132;
00418 const TUint8 KMmsMessageTypeAcknowledgeInd = 133;
00419 const TUint8 KMmsMessageTypeDeliveryInd = 134;
00420 // message types since encaps 1.1
00421 const TUint8 KMmsMessageTypeReadRecInd = 135;
00422 const TUint8 KMmsMessageTypeReadOrigInd = 136;
00423 const TUint8 KMmsMessageTypeForwardReq = 137;
00424 const TUint8 KMmsMessageTypeForwardConf = 138;
00425 // message types since encaps 1.2
00426 const TUint8 KMmsMessageTypeMboxStoreReq = 139;
00427 const TUint8 KMmsMessageTypeMboxStoreConf = 140;
00428 const TUint8 KMmsMessageTypeMboxViewReq = 141;
00429 const TUint8 KMmsMessageTypeMboxViewConf = 142;
00430 const TUint8 KMmsMessageTypeMBoxUploadReq = 143;
00431 const TUint8 KMmsMessageTypeMBoxUploadConf = 144;
00432 const TUint8 KMmsMessageTypeMBoxDeleteReq = 145;
00433 const TUint8 KMmsMessageTypeMBoxDeleteConf = 146;
00434 const TUint8 KMmsMessageTypeMBoxDescr = 147;
00435 // message types since encaps 1.3
00436 const TUint8 KMmsMessageTypeDeleteReq = 148;
00437 const TUint8 KMmsMessageTypeDeleteConf = 149;
00438 const TUint8 KMmsMessageTypeCancelReq = 150;
00439 const TUint8 KMmsMessageTypeCancelConf = 151;
00440 
00441 
00442 // X-Mms-Priority field
00443 const TUint8 KMmsPriorityLow = 128;
00444 const TUint8 KMmsPriorityNormal = 129;
00445 const TUint8 KMmsPriorityHigh = 130;
00446 
00447 // All fields with Yes/No value
00448 const TUint8 KMmsYes = 128;
00449 const TUint8 KMmsNo = 129;
00450 
00451 // X-Mms-Sender-Visibility field
00452 const TUint8 KMmsSenderHide = 128;
00453 const TUint8 KMmsSenderShow = 129;
00454 
00455 // X-Mms-Status field
00456 const TUint8 KMmsMessageStatusExpired = 128;
00457 const TUint8 KMmsMessageStatusRetrieved = 129;
00458 const TUint8 KMmsMessageStatusRejected = 130;
00459 const TUint8 KMmsMessageStatusDeferred = 131;
00460 const TUint8 KMmsMessageStatusUnrecognized = 132;
00461 const TUint8 KMmsMessageStatusIndeterminate = 133;
00462 const TUint8 KMmsMessageStatusForwarded = 134;
00463 const TUint8 KMmsMessageStatusUnreachable = 135;
00464 
00465 // X-Mms-Read-Status field
00466 const TUint8 KMmsReadStatusRead = 128;
00467 const TUint8 KMmsReadStatusDeletedWithoutBeingRead = 129;
00468 
00469 // X-Mms-Reply-Charging field
00470 const TUint8 KMmsReplyChargingRequested = 128;
00471 const TUint8 KMmsReplyChargingRequestedTextOnly = 129;
00472 const TUint8 KMmsReplyChargingAccepted = 130;
00473 const TUint8 KMmsReplyChargingAcceptedTextOnly = 131;
00474 
00475 // field assignments since MMS encapsulation 1.2
00476 
00477 // X-Mms-Mbox-Quotas field & // X-Mms-MBox-Totals field
00478 const TUint8 KMmsMessageCountToken = 128;
00479 const TUint8 KMmsMessageSizeToken = 129;
00480 
00481 // X-Mms-MM-Flags field
00482 const TUint8 KMmsAddToken = 128;
00483 const TUint8 KMmsRemoveToken = 129;
00484 const TUint8 KMmsFilterToken = 130;
00485 
00486 // X-Mms-MM-State field
00487 const TUint8 KMmsDraft = 128;
00488 const TUint8 KMmsSent = 129;
00489 const TUint8 KMmsNew = 130;
00490 const TUint8 KMmsRetrieved = 131;
00491 const TUint8 KMmsForwarded = 132;
00492 
00493 // Response status or Retrieve status OK
00494 const TInt KMmsResponseStatusOK = 128;
00495 
00496 // field assignments since MMS encapsulation 1.3
00497 // These will be needed when 1.3 version is supported (not yet)
00498 
00499 // X-Mms-Cancel-Status field
00500 const TUint8 KMmsCancelRequestSuccessfullyReceived = 128;
00501 const TUint8 KMmsCancelRequestCorrupted = 129;
00502 
00503 // X-Mms-Content-Class field
00504 const TUint8 KMmsContentClassText = 128;
00505 const TUint8 KMmsContentClassImageBasic = 129;
00506 const TUint8 KMmsContentClassImageRich = 130;
00507 const TUint8 KMmsContentClassVideoBasic = 131;
00508 const TUint8 KMmsContentClassVideoRich = 132;
00509 const TUint8 KMmsContentClassMegaPixel = 133;
00510 const TUint8 KMmsContentClassContentBasic = 134;
00511 const TUint8 KMmsContentClassContentRich = 135;
00512 
00513 // X-Mms-Recommended-Retrieval-mode field
00514 const TUint8 KMmsRecommendedRetrievalModeManual = 128;
00515 
00516 // end of field assignments
00517 
00518 // All content type strings are in KContentTypeTable
00519 // some are defined here to be used separately
00520 _LIT8( KMmsAny, "*/*" );
00521 _LIT8( KMmsTextPlain, "text/plain" );
00522 _LIT8( KMmsApplicationSmil, "application/smil" );
00523 _LIT8( KMmsUnknownType, "application/octet-stream" );
00524 _LIT8( KMmsMultipartReport, "multipart/report" );
00525 
00526 // DRM Content subtypes. CMsvMimeHeaders class saves type and subtype separately
00527 _LIT8( KMmsDrmMessageCT,  "vnd.oma.drm.message" ); // DRM Message
00528 _LIT8( KMmsDrmContentCT,  "vnd.oma.drm.content" ); // DRM Content
00529 _LIT8( KMmsDrmRightsTFCT, "vnd.oma.drm.rights+xml" ); // DRM Rights in textual format
00530 _LIT8( KMmsDrmRightsBFCT, "vnd.oma.drm.rights+wbxml" ); // DRM Rights in binary format
00531 _LIT8( KMmsDrmDcfCT,      "vnd.oma.drm.dcf" ); // DRM Content format for discrete media
00532 
00533 // Content type parameters used by Java WMA to specify application id
00534 _LIT8( KMmsJavaApplicationId, "Application-ID" );
00535 _LIT8( KMmsJavaReplyApplicationId, "Reply-To-Application-ID" );
00536 
00537 // Assigned numbers for content types
00538 // If new assignments are needed, check numbers from KContentTypeTable
00539 const TUint8 KMmsAssignedAny = 0x00;
00540 const TUint8 KMmsAssignedText = 0x01;
00541 const TUint8 KMmsAssignedTextPlain = 0x03;
00542 const TUint8 KMmsAssignedApplicationVndWapMultipart = 0x22;
00543 const TUint8 KMmsAssignedApplicationVndWapMultipartMixed = 0x23;
00544 const TUint8 KMmsAssignedApplicationVndWapMultipartAlternative = 0x26;
00545 const TUint8 KMmsAssignedApplicationXml = 0x27;
00546 const TUint8 KMmsAssignedApplicationVndWapWbxml = 0x29;
00547 const TUint8 KMmsAssignedApplicationVndWapMultipartRelated = 0x33;
00548 
00549 // IANA / WSP numbers for character sets
00550 const TUint8 KMmsUtf8 = 0x6A;
00551 const TUint8 KMmsUsAscii = 0x03;
00552 const TUint KMmsIso10646Ucs2 = 0x03E8; // 1000
00553 const TUint KMmsUTF16 = 0x03F7; // 1015
00554 const TUint KMmsUTF16BE = 0x03F5; // 1013
00555 const TUint KMmsUTF16LE = 0x03F6; // 1014
00556 const TUint KMmsUtf7 = 0x03F4; // 1012
00557 
00558 // CR/LF definitions for removal...
00559 _LIT ( KLf16, "\x00A" ); // 16 bit line feed
00560 _LIT ( KCr16, "\x00D" ); // 16 bit carriage return
00561 _LIT ( KSpace16, " " ); // 16 bit space
00562 _LIT ( KEqualsQuestion16, "=?" ); // MIME encoding starter
00563 _LIT ( KQuote16, "\x022" ); // 16 bit quote
00564 _LIT ( KMmsUnicodeLineSeparator, "\x2028");
00565 _LIT ( KMmsUnicodeParagraphSeparator, "\x2029");
00566 _LIT ( KMmsIdeographicSpace, "\x3000");
00567 _LIT8 ( KLf8, "\x00A" ); // 8 bit line feed
00568 _LIT8 ( KCr8, "\x00D" ); // 8 bit carriage return
00569 _LIT8 ( KSpace8, " " ); // 8 bit space
00570 _LIT8 ( KSemicolon8, ";" ); // 8 bit semicolon
00571 _LIT8 ( KEquals8, "=" ); // 8 bit equal
00572 _LIT8 ( KMmsSlash8, "/"); // 8 bit slash
00573 _LIT8 ( KMmsLeftAngle, "<"); // 8 bit angle bracket
00574 _LIT8 ( KMmsRightAngle, ">"); // 8 bit angle bracket
00575 
00576 // MACROS
00577 
00578 // DATA TYPES
00579 
00580 // Possible address types
00581 enum TMmsAddressType
00582     {
00583     EMmsAddressTypeUnknown = 0,
00584     EMmsAddressTypeMobile,
00585     EMmsAddressTypeEmail,
00586     EMmsAddressTypeIpv4,
00587     EMmsAddressTypeIpv6
00588     };
00589 
00590 // These panics should only be used in ASSERT_DEBUGs
00591 // (The user should not see these)
00592 enum TMmsPanic // MMS error codes
00593     {
00594     EMmsBadMtmTypeUid = KErrNone+1,
00595     EMmsNoCMsvEntrySet,
00596     EMmsEntryTypeNotSupported,
00597     EMmsHeadersNotFound,
00598     EMmsAlreadyBusy,
00599     EMmsUnknownState,
00600     EMmsActiveInFinalProgress,
00601     EMmsFinalProgressFailed,
00602     EMmsNotAMessageEntry
00603     };
00604 
00605 
00606 // Values for recipient types
00607 // <DEPRECATED>
00608 // old TMmsRecipients type values should not be used any more!
00609 // instead use TMsvRecipientType values by Symbian!
00610 typedef TMsvRecipientType TMmsRecipients;
00611 #define EMmsTo EMsvRecipientTo
00612 #define EMmsCc EMsvRecipientCc
00613 #define EMmsBcc EMsvRecipientBcc
00614 // </DEPRECATED>
00615 
00616 enum TMmsYesNo
00617     {
00618     EMmsYes = KMmsYes,
00619     EMmsNo = KMmsNo
00620     };
00621 
00622 // Values for message Delivery-Report
00623 typedef TMmsYesNo TMmsMessageDeliveryReport;
00624 // Values for Delivery-Report allowed
00625 typedef TMmsYesNo TMmsSettingsDeliveryReportAllowed;
00626 // Values for message Read-Reply
00627 typedef TMmsYesNo TMmsMessageReadReply;
00628 // Values for Read-Reply sending allowed
00629 typedef TMmsYesNo TMmsSettingsReadReplyAllowed;
00630 
00631 // <DEPRECATED>
00632 // use EMmsYes and EMmsNo instead
00633 #define EMmsDeliveryReportYes EMmsYes
00634 #define EMmsDeliveryReportNo EMmsNo
00635 
00636 #define EMmsDeliveryReportAllowedYes EMmsYes
00637 #define EMmsDeliveryReportAllowedNo EMmsNo
00638 
00639 #define EMmsReadReplyYes EMmsYes
00640 #define EMmsReadreplyNo EMmsNo
00641 
00642 #define EMmsReadReplyAllowedYes EMmsYes
00643 #define EMmsReadReplyAllowedNo EMmsNo
00644 // </DEPRECATED>
00645 
00646 // Values for message class
00647 enum TMmsMessageClass
00648     {
00649     EMmsMimimumMessageClass = KMmsMessageClassPersonal,
00650     EMmsClassPersonal = KMmsMessageClassPersonal,
00651     EMmsClassAdvertisement = KMmsMessageClassAdvertisement,
00652     EMmsClassInformational = KMmsMessageClassInformational,
00653     EMmsClassAuto = KMmsMessageClassAuto,
00654     // change following if new message classes are added
00655     EMmsMaximumMessageClass = KMmsMessageClassAuto
00656     };
00657 
00658 // Values for message priority
00659 enum TMmsMessagePriority
00660     {
00661     EMmsMinimumPriority = KMmsPriorityLow,
00662     EMmsPriorityLow = KMmsPriorityLow,
00663     EMmsPriorityNormal = KMmsPriorityNormal,
00664     EMmsPriorityHigh = KMmsPriorityHigh,
00665     // change following if new priorities added
00666     EMmsMaximumPriority = KMmsPriorityHigh
00667     };
00668 
00669 // Values for message Sender-Visibility
00670 enum TMmsMessageSenderVisibility
00671     {
00672     EMmsSenderVisibilityDefault = 0,
00673     EMmsMinimumSenderVisibility = KMmsSenderHide, // always minimum
00674     EMmsSenderVisibilityHide = KMmsSenderHide,
00675     EMmsSenderVisibilityShow = KMmsSenderShow,
00676     EMmsMaximumSenderVisibility = KMmsSenderShow // change if new values added
00677     };
00678 
00679 
00680 // Values for MMS Creation mode
00681 enum TMmsCreationMode
00682     {
00683     EMmsCreationModeRestricted = 0,
00684     EMmsCreationModeWarning = 1,
00685     EMmsCreationModeFree = 2
00686     };
00687 
00688 // <DEPRECATED>
00689 // Values for Message-Type field
00690 // correspond to binary encoding!
00691 // Message type cannot be set using Client MTM
00692 // Use KMms constants instead.
00693 enum TMmsMessageType
00694     {
00695     EMmsMSendReq = KMmsMessageTypeMSendReq,
00696     EMmsMSendConf = KMmsMessageTypeMSendConf,
00697     EMmsNotificationInd = KMmsMessageTypeMNotificationInd,
00698     EMmsNotifyRespInd = KMmsMessageTypeMNotifyRespInd,
00699     EMmsRetrieveConf = KMmsMessageTypeMRetrieveConf,
00700     EMmsAcknowledgeInd = KMmsMessageTypeAcknowledgeInd,
00701     EMmsDeliveryInd = KMmsMessageTypeDeliveryInd,
00702     EMmsReadRecInd = KMmsMessageTypeReadRecInd,
00703     EMmsReadOrigInd = KMmsMessageTypeReadOrigInd,
00704     EMmsForwardReq = KMmsMessageTypeForwardReq,
00705     EMmsForwardConf = KMmsMessageTypeForwardConf
00706     };
00707 // </DEPRECATED>
00708 
00709 
00710 // <DEPRECATED>
00711 // Values for Status field
00712 // correspond to binary encoding!
00713 // Use KMms constants instead.
00714 enum TMmsMessageStatus
00715     {
00716     EMmsStatusExpired = KMmsMessageStatusExpired,
00717     EMmsStatusRetrieved = KMmsMessageStatusRetrieved,
00718     EMmsStatusRejected = KMmsMessageStatusRejected,
00719     EMmsStatusDeferred = KMmsMessageStatusDeferred,
00720     EMmsStatusUnrecognized = KMmsMessageStatusUnrecognized,
00721     EMmsStatusIndeterminate = KMmsMessageStatusIndeterminate,
00722     EMmsStatusForwarded = KMmsMessageStatusForwarded,
00723     EMmsStatusUnreachable = KMmsMessageStatusUnreachable
00724     };
00725 // </DEPRECATED>
00726 
00727 // Values for read status
00728 // correspond to binary encoding!
00729 enum TMmsReadStatus
00730     {
00731     EMmsReadStatusRead = KMmsReadStatusRead,
00732     EMmsReadStatusDeletedWithoutBeingRead = KMmsReadStatusDeletedWithoutBeingRead
00733     };
00734 
00735 enum TMmsReplyCharging
00736     {
00737     EMmsReplyChargingRequested = KMmsReplyChargingRequested,
00738     EMmsReplyChargingRequestedTextOnly = KMmsReplyChargingRequestedTextOnly,
00739     EMmsReplyChargingAccepted = KMmsReplyChargingAccepted,
00740     EMmsReplyChargingAcceptedTextOnly = KMmsReplyChargingAcceptedTextOnly
00741     };
00742 
00743 // mms receiving mode
00744 enum TMmsReceivingMode
00745     {
00746     EMmsReceivingMin = 1,
00747     EMmsReceivingAutomatic = EMmsReceivingMin,
00748     EMmsReceivingManual = EMmsReceivingMin + 1,
00749     EMmsReceivingPostpone = EMmsReceivingManual + 1,
00750     EMmsReceivingReject = EMmsReceivingPostpone + 1,
00751     EMmsReceivingMax = EMmsReceivingReject
00752     };
00753 
00754 // Factory settings
00755 enum TMmsFactorySettingsLevel
00756     {
00757     EMmsFactorySettingsLevelNormal = 0x0,
00758     EMmsFactorySettingsLevelDeep
00759     };
00760 
00761 // Type of the Delete operation
00762 enum TMmsDeleteOperationType
00763     {
00764     EMmsDeleteNotificationOnly,
00765     EMmsDeleteMMBoxOnly,
00766     EMmsDeleteBoth
00767     };
00768 
00769 // MMSCONST_H
00770 #endif
00771 
00772 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top