00001 /* 00002 * ============================================================================ 00003 * Name : HttpDownloadMgrCommon.h 00004 * Part of : Download Manager Engine 00005 * Interface : Download Manager Engine API 00006 * Description : Common constants used in Download Manager Engine 00007 * Version : %version: 1.1.11.2.3.3.1.1.3 % 00008 * 00009 * Copyright © 2002-2005 Nokia. All rights reserved. 00010 * This material, including documentation and any related computer 00011 * programs, is protected by copyright controlled by Nokia. All 00012 * rights are reserved. Copying, including reproducing, storing, 00013 * adapting or translating, any or all of this material requires the 00014 * prior written consent of Nokia. This material also contains 00015 * confidential information which may not be disclosed to others 00016 * without the prior written consent of Nokia. 00017 * ============================================================================ 00018 * Template version: 4.0 00019 */ 00020 00021 00022 #ifndef HTTPDOWNLOADMGRCOMMON_H 00023 #define HTTPDOWNLOADMGRCOMMON_H 00024 00025 // INCLUDES 00026 #include <e32base.h> 00027 00028 // CONSTANTS 00029 const TInt KMaxUrlLength = 2048; 00030 const TInt KMaxChunkSize = 4096; 00031 const TUint KMaxDefAttrLength = 32; 00032 const TUint KMaxRealmLength = 128; 00033 const TUint KMaxContentTypeLength = 256; 00034 #start_since SINCE_3_1_SDK 00035 00038 const TUint KMaxDispositionTypeLength = 256; 00039 #end_since SINCE_3_1_SDK 00040 const TInt32 KDefaultPort = 80; 00041 const TInt32 KDefaultContentLength = -1; 00042 const TUint KMaxGeneralHeaderFieldLength = 256; 00044 const TInt KHashLength = 32; 00046 const TInt KRawHashLength = 16; 00048 const TInt32 KDefaultFotaPckgId = -1; 00049 00050 const TInt KColon( ':' ); 00051 const TInt KSemiColon( ';' ); 00052 #start_since SINCE_3_1_SDK 00053 00056 const TInt KQuote( '"' ); 00060 const TInt KEqual( '=' ); 00061 #end_since SINCE_3_1_SDK 00062 00063 _LIT8( KHttpFieldSeparator, "\n"); 00064 #start_since SINCE_3_1_SDK 00065 _LIT8( KHttpDispositionTypeAttachment, "attachment"); 00066 _LIT8( KHttpDispositionTypeInline, "inline"); 00067 _LIT8( KHttpFileNameParm, "filename"); 00068 #end_since SINCE_3_1_SDK 00069 00071 _LIT8( KCodMimeType, "text/x-co-desc" ); 00073 _LIT8( KDdMimeType, "application/vnd.oma.dd+xml" ); 00074 _LIT8( KRoapMimeType, "application/vnd.oma.drm.roap-trigger+xml" ); 00076 _LIT8( KMultiPartMimeType, "multipart/related" ); 00077 00079 _LIT8( KDrmMessageMimeType, "application/vnd.oma.drm.message" ); 00081 _LIT8( KDrmMessageMimeTypeDrmContent, "application/vnd.oma.drm.content" ); 00083 _LIT8( KDrmMessageMimeTypeDrmDcf, "application/vnd.oma.drm.dcf" ); 00084 00090 enum THttpDownloadState 00091 { 00092 EHttpDlCreated = 1, 00093 EHttpDlInprogress, 00094 EHttpDlPaused, 00095 EHttpDlCompleted, 00096 EHttpDlFailed, 00097 00099 EHttpDlMoved, 00101 EHttpDlMediaRemoved, 00107 EHttpDlMediaInserted, 00110 EHttpDlPausable, 00112 EHttpDlNonPausable, 00114 EHttpDlDeleted, 00116 EHttpDlAlreadyRunning, 00118 EHttpDlDeleting, 00120 EHttpDlCancelTransaction = 128 00121 }; 00122 00128 enum THttpProgressState 00129 { 00130 EHttpProgNone = 0, 00131 00132 EHttpStarted = 500, 00133 00134 EHttpProgCreatingConnection = 1000, 00135 EHttpProgConnectionNeeded = 1010, 00136 EHttpProgConnected = 1020, 00137 00138 EHttpProgConnectionSuspended = 1022, 00139 00140 EHttpProgDisconnected = 1030, 00141 00142 EHttpProgDownloadStarted = 2000, 00143 EHttpContentTypeRequested = EHttpProgDownloadStarted + 20, 00144 00149 EHttpContentTypeReceived, 00150 00151 EHttpProgSubmitIssued = EHttpProgDownloadStarted + 30, 00152 00153 EHttpProgResponseHeaderReceived = 2050, 00154 EHttpProgResponseBodyReceived, 00155 EHttpProgRedirectedPermanently, 00156 EHttpProgRedirectedTemporarily, 00157 EHttpProgDlNameChanged, 00158 EHttpProgContentTypeChanged, 00159 00161 EHttpProgCodDescriptorDownloaded = 2500, 00163 EHttpProgCodDownloadStarted, 00165 EHttpProgCodDescriptorAccepted, 00169 EHttpProgCodLoadEnd, 00170 EHttpProgSupportedMultiPart, 00171 00172 00173 EHttpProgMovingContentFile = 3000, 00174 EHttpProgContentFileMoved 00175 #start_since SINCE_3_1_SDK 00176 00177 // We have received sufficient HTTP response body to allow us to recognize 00178 // content-type from data rather than trust content-type header 00179 ,EHttpContTypeRecognitionAvail 00180 #end_since SINCE_3_1_SDK 00181 }; 00182 00193 enum THttpDownloadMgrAttrib 00194 { 00195 EDlMgrAppUid, 00199 EDlMgrIap, 00203 EDlMgrExitAction, 00207 EDlMgrSilentMode, 00212 EDlMgrMaster, 00221 EDlMgrAllDlsInMaster, 00225 EDlMgrNoMediaDlsInMaster, 00230 EDlMgrConnectionName, 00239 EDlMgrAPName, 00244 EDlMgrNumInprogressDownloads, 00248 EDlMgrConnected, 00251 EDlMgrNoMediaDls, 00255 EDlMgrEnableCookies, 00260 EDlAutoConnect, 00266 EDlMgrAutoConnect = EDlAutoConnect, 00267 00268 EDlMgrFotaDownload, 00273 EDlMgrCodFolder, 00276 EDlMgrNumOfClientSideDownload, 00279 #start_since SINCE_3_1_SDK 00280 EDlMgrHasActiveDownloads, 00285 EDlMgrAutoAcceptCod 00289 #end_since SINCE_3_1_SDK 00290 }; 00291 00300 enum THttpDownloadAttrib 00301 { 00302 // Download progress attributes 00303 EDlAttrState, 00306 EDlAttrProgressState, 00309 EDlAttrUserData, 00312 EDlAttrId, 00315 // 00316 // Attributes mandatory to issue the request 00317 // 00318 EDlAttrReqUrl = 100, 00321 EDlAttrRedirUlr, 00325 EDlAttrRedirUrl = EDlAttrRedirUlr, 00326 00327 EDlAttrCurrentUrl, 00331 EDlAttrName, 00336 EDlAttrPort, 00340 EDlAttrMethod, 00343 EDlAttrRequestHeaderAddon, 00353 EDlAttrNextBodyData, 00357 EDlAttrReleaseBodyData, 00364 EDlAttrRedirected, 00372 EDlAttrResponseHeader, 00378 EDlAttrRequestHeaderAddonLength, 00382 // 00383 // HTTP/Proxy authentication attributes. 00384 // Have to be set when state is EHttpDlPaused/EHttpContentTypeReceived 00385 // 00386 EDlAttrAuthScheme = 200, 00390 EDlAttrRealm, 00394 EDlAttrUsername, 00397 EDlAttrPassword, 00400 EDlAttrProxyRealm, 00404 EDlAttrProxyUsername, 00407 EDlAttrProxyPassword, 00410 // 00411 // Miscellaneous download attributes 00412 // 00413 EDlAttrDestFilename, 00419 EDlAttrLength, 00424 EDlAttrDownloadedSize, 00427 EDlAttrNoContentTypeCheck, 00431 EDlAttrContinueBody, 00441 EDlAttrDestRemovable, 00445 // 00446 // Attributes to indicate error occured during download 00447 // 00448 EDlAttrStatusCode = 500, 00451 EDlAttrErrorId, 00454 EDlAttrGlobalErrorId, 00457 EDlAttrContentType, 00461 EDlAttrTargetApp, 00465 EDlAttrMediaType, 00467 EDlAttrMediaTypeBoundary, 00470 #start_since SINCE_3_1_SDK 00471 EDlAttrAttachmentFileName, 00472 #end_since SINCE_3_1_SDK 00473 00474 // 00475 // Other 00476 // 00477 EDlAttrDisconnectOnReset = 1000, 00481 EDlAttrDisconnectOnPause, 00488 EDlAttrUnused1, 00489 00490 EDlAttrAction, 00494 EDlAttrRestartAction, 00498 EDlAttrNoMedia, 00502 EDlAttrContinue, 00508 EDlAttrPausable, 00513 EDlAttrHidden, 00518 EDlAttrSilent, 00526 EDlAttrProgressive, 00530 EDlAttrFotaPckgId, 00534 EDlAttrDownloadNextUrl, 00545 EDlAttrHeaderFields = 1500, 00546 EDlAttrCharSet = EDlAttrHeaderFields, // Character Set 00547 EDlAttrResponseCharSet = EDlAttrCharSet, 00548 EDlAttrResponseAge, 00549 EDlAttrResponseETag, 00550 EDlAttrResponseLocation, 00551 EDlAttrResponseRetryAfter, 00552 EDlAttrResponseServer, 00553 EDlAttrResponseVary, 00554 00556 EDlAttrRequestAccept = 2000, 00557 EDlAttrRequestAcceptCharSet, 00558 EDlAttrRequestAcceptLanguage, 00559 EDlAttrRequestExpect, 00560 EDlAttrRequestFrom, 00561 EDlAttrRequestHost, 00562 EDlAttrRequestMaxForwards, 00563 EDlAttrRequestPragma, 00564 EDlAttrRequestReferer, 00565 EDlAttrRequestUserAgent, 00566 EDlAttrRequestVary, 00567 00569 EDlAttrEntityAllow = 2500, 00570 EDlAttrEntityContentEncoding, 00571 EDlAttrEntityContentLanguage, 00572 EDlAttrEntityContentLocation, 00573 EDlAttrEntityExpires, 00574 EDlAttrEntityLastModified, 00575 00577 EDlAttrGeneralCacheControl = 3000, 00578 EDlAttrGeneralDate, 00579 EDlAttrGeneralPragma, 00580 EDlAttrGeneralVia, 00581 EDlAttrGeneralWarning, 00582 00584 EDlAttrSucceeded = 8192, 00586 EDlAttUnused2, 00588 EDlAttrFailed, 00589 00590 EDlAttrCodDownload, 00596 EDlAttrHashedMsgBody, 00598 EDlAttrDefaultEvent, 00600 EDlAttrRedirectedTemporary, 00602 EDlAttrRedirectedPermanently, 00604 EDlAttrCodDescriptorAccepted, 00606 EDlAttrCodLoadEnd 00607 00608 #start_since SINCE_3_1_SDK 00609 ,EDlAttrDiskBufferingSize 00614 #end_since SINCE_3_1_SDK 00615 00616 }; 00617 00621 enum THttpMethod 00622 { 00623 EMethodGET, 00624 EMethodPOST, 00625 EMethodHEAD 00626 }; 00627 00631 enum THttpAuthenticationScheme 00632 { 00633 EAuthBasic, 00634 EAuthDigest 00635 }; 00636 00641 enum THttpDownloadMgrExitAction 00642 { 00643 EExitNothing, 00644 EExitPause, 00645 EExitDelete 00646 }; 00647 00651 enum THttpDownloadMgrAction 00652 { 00656 EDoNothing = 0, 00660 EMove = 0x0001, 00665 ELaunch = 0x0002 00666 }; 00667 00671 enum THttpRestartActions 00672 { 00673 ERestartIfExpired, 00674 ERestartNoIfCompleted, 00679 ERestartForced 00681 }; 00682 00686 enum THttpDownloadMgrError 00687 { 00688 ENoError = 0, 00689 EGeneral = -30421, 00690 EInternal = -30422, 00693 EContentFileIntegrity = -30423, 00696 EDiskFull = -30424, 00697 EConnectionFailed = -30425, 00699 ETransactionFailed = -30426, 00701 EMoveFailed = -30427, 00703 EDestFileWriteFailed = -30428, 00704 EMMCRemoved = -30429, 00705 EBadUrl = -30430, 00709 // Download attributes related error 00710 00711 EWrongDestFilename = -30431, 00713 EDestFileInUse = -30432, 00717 //HTTP error case 00718 00719 EHttpUnhandled = -30433, 00722 EHttpAuthenticationFailed = -30434, 00725 EProxyAuthenticationFailed = -30435, 00728 EObjectNotFound = -30436, 00730 EPartialContentModified = -30437, 00735 EContentExpired = -30438, 00740 // miscellaneous errors 00741 EHttpRestartFailed = -30450 00742 }; 00743 00744 // HTTPDOWNLOADMGRCOMMON_H 00745 #endif 00746 00747 // End of File