S60 3rd Edition API Reference: mmsconst.h Source File

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

Copyright © Nokia Corporation 2001-2007
Back to top