Oma2Agent.h

Go to the documentation of this file.
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 *  Version     : %version: 6 %
00009 *
00010 *  Copyright © 2005 - 2007 Nokia. All rights reserved.
00011 *  This material, including documentation and any related
00012 *  computer programs, is protected by copyright controlled by
00013 *  Nokia. All rights are reserved. Copying, including
00014 *  reproducing, storing, adapting or translating, any
00015 *  or all of this material requires the prior written consent of
00016 *  Nokia. This material also contains confidential
00017 *  information which may not be disclosed to others without the
00018 *  prior written consent of Nokia.
00019 * ==============================================================================
00020 */
00021 
00022 
00023 #ifndef OMA2AGENT_H
00024 #define OMA2AGENT_H
00025 
00026 //  INCLUDES
00027 #include <caf/caftypes.h>
00028 
00029 // CONSTANTS
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 // DATA TYPES
00052 
00053 // Transport scheme for encrypted rights objects
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 // Agent specific attribute identifiers
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 // File types
00113 
00114 enum
00115     {
00116     ENoDcf = 0,
00117     EOma1Dcf = 1,
00118     EOma2Dcf = 2
00119     };
00120 
00121 // Delivery method
00122 
00123 enum TOmaDrmDeliveryMethod
00124     {
00125     EOmaDrm1LocalDataFile,
00126     EOmaDrm1ForwardLock,
00127     EOmaDrm1ForwardLockDcf,
00128     EOmaDrm1CombinedDelivery,
00129     EOmaDrm1CombinedDeliveryDcf,
00130     EOmaDrm1SeparateDelivery,
00131     EOmaDrm2
00132     };
00133 
00134 // Encryption methods for OMA DRM 2 DCF files
00135 
00136 enum TEncryptionMethod
00137     {
00138     EMethodNULL = 0x00,
00139     EMethodAES_128_CBC = 0x01,
00140     EMethodAES_128_CTR = 0x02
00141     };
00142 
00143 // Padding options
00144 
00145 enum TEncryptionPadding
00146     {
00147     EPaddingNone = 0x00,
00148     EPaddingRFC_2630 = 0x01
00149     };
00150 
00151 // Rights refresh and preview options
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 // Rights Object version (stored in the iVersionMain field of the version)
00168 
00169 enum
00170     {
00171     EOma1Rights = 1,
00172     EOma2Rights = 2,
00173     ECmlaRights = 3
00174     };
00175 
00176 // Agent specific commands
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 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top