00001 /* 00002 * ============================================================================== 00003 * Name : Oma2Agent.h 00004 * Part of : OMA DRM / OMA DRM CAF Agent 00005 * Interface : public, OMA DRM CAF Agent API 00006 * Description : Contains the OMA DRM CAF Agent specific data types, commands 00007 * and attributes 00008 * 00009 * Copyright © 2005 Nokia. All rights reserved. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia. All rights are reserved. Copying, including 00013 * reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia. 00018 * ============================================================================== 00019 */ 00020 00021 00022 #ifndef OMA2AGENT_H 00023 #define OMA2AGENT_H 00024 00025 // INCLUDES 00026 #include <caf/caftypes.h> 00027 00028 // CONSTANTS 00029 _LIT(KOmaDrm2AgentName, "OMA DRM Agent"); 00030 _LIT8(KOma1DrmMessageContentType, "application/vnd.oma.drm.message"); 00031 _LIT8(KOma1XmlRoContentType, "application/vnd.oma.drm.rights+xml"); 00032 _LIT8(KOma1WbxmlRoContentType, "application/vnd.oma.drm.rights+wbxml"); 00033 _LIT8(KOma2RoContentType, "application/vnd.oma.drm.roap-pdu+xml"); 00034 _LIT8(KOma2ProtectedRoType, "application/vnd.oma.drm.ro+xml"); 00035 _LIT8(KOma2TriggerContentType, "application/vnd.oma.drm.roap-trigger+xml"); 00036 _LIT8(KOma1DcfContentType, "application/vnd.oma.drm.content"); 00037 _LIT8(KOma2DcfContentType, "application/vnd.oma.drm.dcf"); 00038 _LIT8(KOmaImportContentType, "application/x-vnd.oma.drm.import"); 00039 _LIT8(KOmaImportMimeTypeField, "Content-type"); 00040 _LIT8(KOmaImportRightsField, "Rights"); 00041 _LIT8(KOma2DcfRoBoxId, "cid:Oma2DcfRightsObjectBox@localhost"); 00042 _LIT8(KOma2DcfTransactionBoxId, "cid:Oma2DcfTransactionBox@localhost"); 00043 _LIT8(KOma2DcfBranding, "\000\000\000\024ftypodcf\000\000\000\002odcf"); 00044 _LIT8(KCafMimeType, "application/x-caf"); 00045 _LIT(KOma1DcfExtension, ".dcf"); 00046 _LIT(KOma2DcfExtension, ".odf"); 00047 00048 // DATA TYPES 00049 00050 // Transport scheme for encrypted rights objects 00051 00052 enum TKeyTransportScheme 00053 { 00054 EOma, 00055 ECmlaIp1, 00056 ECmlaIp2, 00057 ECmlaIp3, 00058 ECmlaIp4, 00059 ECmlaIp5, 00060 ECmlaIp6, 00061 ECmlaIp7, 00062 }; 00063 00064 namespace ContentAccess 00065 { 00066 // Agent specific attribute identifiers 00067 00068 enum TOma2AgentAttribute 00069 { 00070 EFileType = EAgentSpecificAttributeBase + 1, 00071 EPreviewType, 00072 ESilentRightsType, 00073 EDeliveryMethod 00074 }; 00075 00076 enum TOma2AgentStringAttribute 00077 { 00078 EInstantPreviewUri = EAgentSpecificAttributeBase + 1, 00079 EPreviewRightsUri, 00080 ERightsIssuerUrl, 00081 ESilentRightsUrl, 00082 ETransactionTrackingId, 00083 EEmbeddedRightsObject, 00084 EGroupId, 00085 EDomainRightsIssuerUrl, 00086 EDomainId, 00087 EDomainRightsIssuerId, 00088 EContentVendor, 00089 ECopyright 00090 #start_since SINCE_3_1_SDK 00091 ,EContentName, 00092 EContentLocation, 00093 EContentVersion, 00094 EPerformer, 00095 EGenre, 00096 ERatingInfo, 00097 EClassificationInfo, 00098 EKeyword, 00099 ELocInfoName, 00100 ELocInfoAstronomicalBody, 00101 ELocInfoAdditionalNotes, 00102 EAlbumTitle, 00103 EAlbumTrack, 00104 ECoverUri, 00105 ELyricsUrl, 00106 EFileName 00107 #end_since SINCE_3_1_SDK 00108 }; 00109 00110 // File types 00111 00112 enum 00113 { 00114 ENoDcf = 0, 00115 EOma1Dcf = 1, 00116 EOma2Dcf = 2 00117 }; 00118 00119 // Delivery method 00120 00121 enum TOmaDrmDeliveryMethod 00122 { 00123 EOmaDrm1LocalDataFile, 00124 EOmaDrm1ForwardLock, 00125 EOmaDrm1ForwardLockDcf, 00126 EOmaDrm1CombinedDelivery, 00127 EOmaDrm1CombinedDeliveryDcf, 00128 EOmaDrm1SeparateDelivery, 00129 EOmaDrm2 00130 }; 00131 00132 // Encryption methods for OMA DRM 2 DCF files 00133 00134 enum TEncryptionMethod 00135 { 00136 EMethodNULL = 0x00, 00137 EMethodAES_128_CBC = 0x01, 00138 EMethodAES_128_CTR = 0x02 00139 }; 00140 00141 // Padding options 00142 00143 enum TEncryptionPadding 00144 { 00145 EPaddingNone = 0x00, 00146 EPaddingRFC_2630 = 0x01 00147 }; 00148 00149 // Rights refresh and preview options 00150 00151 enum TSilentRefresh 00152 { 00153 ENoSilentRefresh = 0x00, 00154 EOnDemand = 0x01, 00155 EInAdvance = 0x02 00156 }; 00157 00158 enum TPreview 00159 { 00160 ENoPreview = 0x00, 00161 EInstantPreview = 0x01, 00162 EPreviewRights = 0x02 00163 }; 00164 00165 // Rights Object version (stored in the iVersionMain field of the version) 00166 00167 enum 00168 { 00169 EOma1Rights = 1, 00170 EOma2Rights = 2, 00171 ECmlaRights = 3 00172 }; 00173 00174 // Agent specific commands 00175 00176 enum 00177 { 00184 EEmbedDomainRo, 00185 00196 EOmaDrmMethods, 00197 00205 ESetPendingRightsETA, 00206 00213 EBufferContainsOma1Dcf, 00214 00221 EDecryptOma1DcfBuffer 00222 #start_since SINCE_3_1_SDK 00223 00232 ,ESetContentName 00233 #end_since SINCE_3_1_SDK 00234 }; 00235 } 00236 00237 // OMA2AGENT_H 00238 #endif 00239 00240 // End of File