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 *
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:[email protected]");
00042 _LIT8(KOma2DcfTransactionBoxId, "cid:[email protected]");
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     ERecordingYear
00075     };
00076 
00077 enum TOma2AgentStringAttribute
00078     {
00079     EInstantPreviewUri = EAgentSpecificAttributeBase + 1,
00080     EPreviewRightsUri,
00081     ERightsIssuerUrl,
00082     ESilentRightsUrl,
00083     ETransactionTrackingId,
00084     EEmbeddedRightsObject,
00085     EGroupId,
00086     EDomainRightsIssuerUrl,
00087     EDomainId,
00088     EDomainRightsIssuerId,
00089     EContentVendor,
00090     ECopyright,
00091     EContentName,
00092     EOmaDrmContentLocation,
00093     EOmaDrmContentVersion,
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     };
00108 
00109 // File types
00110     
00111 enum
00112     {
00113     ENoDcf = 0,
00114     EOma1Dcf = 1,
00115     EOma2Dcf = 2
00116     };
00117     
00118 // Delivery method
00119 
00120 enum TOmaDrmDeliveryMethod
00121     {
00122     EOmaDrm1LocalDataFile,
00123     EOmaDrm1ForwardLock,
00124     EOmaDrm1ForwardLockDcf,
00125     EOmaDrm1CombinedDelivery,
00126     EOmaDrm1CombinedDeliveryDcf,
00127     EOmaDrm1SeparateDelivery,
00128     EOmaDrm2
00129     };
00130     
00131 // Encryption methods for OMA DRM 2 DCF files    
00132     
00133 enum TEncryptionMethod
00134     {
00135     EMethodNULL = 0x00,
00136     EMethodAES_128_CBC = 0x01,
00137     EMethodAES_128_CTR = 0x02
00138     };
00139     
00140 // Padding options
00141 
00142 enum TEncryptionPadding
00143     {
00144     EPaddingNone = 0x00,
00145     EPaddingRFC_2630 = 0x01
00146     };
00147 
00148 // Rights refresh and preview options
00149 
00150 enum TSilentRefresh
00151     {
00152     ENoSilentRefresh = 0x00,
00153     EOnDemand = 0x01,
00154     EInAdvance = 0x02
00155     };
00156 
00157 enum TPreview
00158     {
00159     ENoPreview = 0x00,
00160     EInstantPreview = 0x01,
00161     EPreviewRights = 0x02
00162     };
00163     
00164 // Rights Object version (stored in the iVersionMain field of the version)
00165     
00166 enum
00167     {
00168     EOma1Rights = 1,
00169     EOma2Rights = 2,
00170     ECmlaRights = 3
00171     };    
00172     
00173 // Agent specific commands    
00174     
00175 enum
00176     {
00183     EEmbedDomainRo,
00184 
00195     EOmaDrmMethods,
00196 
00204     ESetPendingRightsETA,
00205 
00212     EBufferContainsOma1Dcf,
00213 
00220     EDecryptOma1DcfBuffer,
00221     
00222     
00230     ESetContentName,
00231         
00232     };
00233 }
00234 
00235 // OMA2AGENT_H   
00236 #endif
00237             
00238 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top