S60 3rd Edition API Reference: oma2agent.h Source File

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: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

Copyright © Nokia Corporation 2001-2007
Back to top