00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OMA2AGENT_H
00024 #define OMA2AGENT_H
00025
00026
00027 #include <caf/caftypes.h>
00028
00029
00030 _LIT(KOmaDrm2AgentName, "OMA DRM Agent");
00031 _LIT8(KOma1DrmMessageContentType, "application/vnd.oma.drm.message");
00032 _LIT8(KOma1XmlRoContentType, "application/vnd.oma.drm.rights+xml");
00033 _LIT8(KOma1WbxmlRoContentType, "application/vnd.oma.drm.rights+wbxml");
00034 _LIT8(KOma2RoContentType, "application/vnd.oma.drm.roap-pdu+xml");
00035 _LIT8(KOma2ProtectedRoType, "application/vnd.oma.drm.ro+xml");
00036 _LIT8(KOma2TriggerContentType, "application/vnd.oma.drm.roap-trigger+xml");
00037 _LIT8(KOma1DcfContentType, "application/vnd.oma.drm.content");
00038 _LIT8(KOma2DcfContentType, "application/vnd.oma.drm.dcf");
00039 _LIT8(KOmaImportContentType, "application/x-vnd.oma.drm.import");
00040 _LIT8(KOmaImportMimeTypeField, "Content-type");
00041 _LIT8(KOmaImportRightsField, "Rights");
00042 _LIT8(KOma2DcfRoBoxId, "cid:Oma2DcfRightsObjectBox@localhost");
00043 _LIT8(KOma2DcfTransactionBoxId, "cid:Oma2DcfTransactionBox@localhost");
00044 _LIT8(KOma2DcfBranding, "\000\000\000\024ftypodcf\000\000\000\002odcf");
00045 _LIT8(KCafMimeType, "application/x-caf");
00046 _LIT(KOma1DcfExtension, ".dcf");
00047 _LIT(KOma2DcfExtension, ".odf");
00048 _LIT(KOma2DcfExtensionAudio, ".o4a");
00049 _LIT(KOma2DcfExtensionVideo, ".o4v");
00050
00051
00052
00053
00054
00055 enum TKeyTransportScheme
00056 {
00057 EOma,
00058 ECmlaIp1,
00059 ECmlaIp2,
00060 ECmlaIp3,
00061 ECmlaIp4,
00062 ECmlaIp5,
00063 ECmlaIp6,
00064 ECmlaIp7,
00065 };
00066
00067 namespace ContentAccess
00068 {
00069
00070
00071 enum TOma2AgentAttribute
00072 {
00073 EFileType = EAgentSpecificAttributeBase + 1,
00074 EPreviewType,
00075 ESilentRightsType,
00076 EDeliveryMethod,
00077 ERecordingYear
00078 };
00079
00080 enum TOma2AgentStringAttribute
00081 {
00082 EInstantPreviewUri = EAgentSpecificAttributeBase + 1,
00083 EPreviewRightsUri,
00084 ERightsIssuerUrl,
00085 ESilentRightsUrl,
00086 ETransactionTrackingId,
00087 EEmbeddedRightsObject,
00088 EGroupId,
00089 EDomainRightsIssuerUrl,
00090 EDomainId,
00091 EDomainRightsIssuerId,
00092 EContentVendor,
00093 ECopyright,
00094 EContentName,
00095 EOmaDrmContentLocation,
00096 EOmaDrmContentVersion,
00097 EPerformer,
00098 EOmaDrmGenre,
00099 ERatingInfo,
00100 EClassificationInfo,
00101 EKeyword,
00102 ELocInfoName,
00103 ELocInfoAstronomicalBody,
00104 ELocInfoAdditionalNotes,
00105 EAlbumTitle,
00106 EAlbumTrack,
00107 ECoverUri,
00108 ELyricsUrl,
00109 EFileName
00110 };
00111
00112
00113
00114 enum
00115 {
00116 ENoDcf = 0,
00117 EOma1Dcf = 1,
00118 EOma2Dcf = 2
00119 };
00120
00121
00122
00123 enum TOmaDrmDeliveryMethod
00124 {
00125 EOmaDrm1LocalDataFile,
00126 EOmaDrm1ForwardLock,
00127 EOmaDrm1ForwardLockDcf,
00128 EOmaDrm1CombinedDelivery,
00129 EOmaDrm1CombinedDeliveryDcf,
00130 EOmaDrm1SeparateDelivery,
00131 EOmaDrm2
00132 };
00133
00134
00135
00136 enum TEncryptionMethod
00137 {
00138 EMethodNULL = 0x00,
00139 EMethodAES_128_CBC = 0x01,
00140 EMethodAES_128_CTR = 0x02
00141 };
00142
00143
00144
00145 enum TEncryptionPadding
00146 {
00147 EPaddingNone = 0x00,
00148 EPaddingRFC_2630 = 0x01
00149 };
00150
00151
00152
00153 enum TSilentRefresh
00154 {
00155 ENoSilentRefresh = 0x00,
00156 EOnDemand = 0x01,
00157 EInAdvance = 0x02
00158 };
00159
00160 enum TPreview
00161 {
00162 ENoPreview = 0x00,
00163 EInstantPreview = 0x01,
00164 EPreviewRights = 0x02
00165 };
00166
00167
00168
00169 enum
00170 {
00171 EOma1Rights = 1,
00172 EOma2Rights = 2,
00173 ECmlaRights = 3
00174 };
00175
00176
00177
00178 enum
00179 {
00186 EEmbedDomainRo,
00187
00198 EOmaDrmMethods,
00199
00207 ESetPendingRightsETA,
00208
00215 EBufferContainsOma1Dcf,
00216
00223 EDecryptOma1DcfBuffer,
00224
00225
00233 ESetContentName,
00234
00235 };
00236 }
00237
00238 #endif // OMA2AGENT_H
00239
00240