os/security/contentmgmt/contentaccessfwfordrm/engineering/dox/ReleaseNotes.dox
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // <hr>
    15 // to enum TStringAttribute.  Adding these new attributes allows CAF to better support the OMA DRM v2 DCF specification.
    16 // <hr>
    17 // processes using this API no long have to hold the DRM capability. The DRM 
    18 // capability must only be enforced by Content Access Agents on APIs that 
    19 // manipulate rights or that handle the plain text form of protected/encryted 
    20 // rights or content.
    21 // <hr>
    22 // 'KCafLoadPostProductionAgents' held in a new patchdata.cpp file. Also updated
    23 // caf.iby obey file to allow this variable to be set by licensees. The 
    24 // compile-time macro CAF_LOAD_POST_PRODUCTION_AGENTS has now become a ROM 
    25 // <hr>
    26 // <hr>
    27 // <hr>
    28 // <hr>
    29 // <hr>
    30 // This release of CAF is scheduled for Mike (v9.1) 
    31 // <hr>
    32 // <hr>
    33 // 
    34 //
    35 
    36 /**
    37  @page CAFReleaseNotes CAF v2.19 Release Notes
    38  @section CAFChanges_2_19 New in CAF v2.19
    39  @li Added new value EContentVersion to enum TAttribute.  Added two new values EContentLocation and ERightsIssuerURI
    40  @section CAFChanges_2_18 New in CAF v2.18
    41  @li Removed the capability requirement on users of the CImportFile API. Client
    42  @section CAFChanges_2_17 New in CAF v2.17
    43  @li Added new patchable boolean variable to caf.dll called 
    44  build-time macro. See @ref licenseesROMOnly.
    45  @section CAFChanges_2_16 New in CAF v2.16
    46  @li Added new entry in TStringAttribute for the TransactionID and updated the CAF API?SPI accordingly, to allow applications to retrieve thsi new attribute from the a content object.
    47  @li Adding this new attribute makes CAF compliant to the OMA DRM v2 and the DCF Format.
    48  @section CAFChanges_2_15 New in CAF v2.15
    49  @li Licensee considerations section of API documentation updated.
    50  @section CAFChanges_2_14 New in CAF v2.14
    51  @li API documentation has been updated to clarify the usage of the asynchronous APIs.
    52  @li New section 'Making an asynchronous SendReceive() call in an agent plugin' added to .chm file.
    53  @section CAFChanges_2_13 New in CAF v2.13
    54  @li Added new error codes: KErrCACorruptContent and KErrCACorruptRights.
    55  @li API documentation has been updated for the majority of APIs and SPIs to reflect changes. 
    56  @section AppSince10 CAF v1.0 Compatibilty
    57  @li It will be binary compatible for applications currently using CAF v1.0
    58  @li There are several deprecated functions which will be removed in a future release
    59  @li It<b> will not</b> be source compatible for Content Access Agents implementing the CAF v1.0 API, they will need significant modifications to work with this release of CAF
    60  @li Content Access Agent inteface UID changed to \c 0x10204740 for CAF v2.0 agents. This prevents CAF v2.0 trying to load CAF v1.0 agents and vice versa
    61  @section CAFChanges_2_12 New in CAF v2.12
    62  @li <code>ContentAccess::CData</code> objects can now be constructed without a CContent object
    63  @li <code>ContentAccess::CContent</code> and <code>ContentAccess::CData</code> objects can now be created by supplying a URI or by passing an open RFile handle
    64  @li <code>ContentAccess::CContent</code> now allows applications to browse the contents of files containing more than one content object, see @ref Listing
    65  @li <code>ContentAccess::CData</code> now allows applications to read a particular content object within a file, see @ref CAFCData
    66  @li Concept of a virtual path has been introduced to identify content within a file, see @ref VirtualPaths 
    67  @li Added new attribute functions to <code>ContentAccess::CContent</code> and <code>ContentAccess::CManager</code> to query attributes related to a virtual path
    68  @li Added <code>ContentAccess::RAttributeSet</code> and <code>ContentAccess::RStringAttributeSet</code> to allow several attributes to be queried in one function call
    69  @li File management functions similar to \c RFs added to <code>ContentAccess::CManager</code>.
    70  @li Agent management functions added to <code>ContentAccess::CManager</code> so applications can configure or query a particular agent
    71  @li Event Notification functions added to <code>ContentAccess::CContent</code> and <code>ContentAccess::CManager</code>. The events currently relate to changes in the rights status of a content object.
    72  @li Agent specific commands supported on <code>ContentAccess::CContent</code> and <code>ContentAccess::CManager</code>.
    73  @li <code>ContentAccess::CSupplier</code> and <code>ContentAccess::CImportFile</code> now allow the client to supply output file handles for the agent to write to. See <code>ContentAccess::CImportFile::ContinueWithNewOutputFile()</code>
    74  @li <code>ContentAccess::CContent</code>, <code>ContentAccess::CData</code> and <code>ContentAccess::CImportFile</code> now use less memory 
    75  @li <code>ContentAccess::CAgentConsumer</code> has been renamed <code>ContentAccess::CAgentData</code>
    76  @li <code>ContentAccess::CAgentSupplier</code> has been renamed <code>ContentAccess::CAgentImportFile</code>
    77  @li <code>ContentAccess::CAgentRightsManager</code> added to the agent interface
    78  @li Added <code>ContentAccess::CContentIterator</code> to simplify discovery of content objects
    79  @li Added template class <code>ContentAccess::RStreamablePtrArray</code> that simplifies the task of transferring arrays across the client server boundary.
    80  @li Agents will implement the user interface. Applications can request to suppress the agent UI using the <code>SetProperty()</code> function (e.g. <code>ContentAccess::CContent::SetProperty()</code>). See @ref CAFUI
    81  @li <code>KDefaultContentObject</code> string introduced to identify that the client wants to open the default content object within the file. The default is used automatically if no UniqueId is specified. If the client specifies the UniqueId <code>KNullDesC16()</code>, the file will be opened in exactly the same way as an \c RFile, no translation will occur.
    82  @li <code>ContentAccess::CData::SetQosL()</code> renamed to <code>ContentAccess::CData::SetProperty()</code>. Allows it to apply to other aspects of an agent without causing confusion
    83  @li Removed <code>"const"</code> from <code>ContentAccess::CData::Read()</code> and <code>ContentAccess::CData::Seek()</code> functions so agents can maintain an internal state if necessary
    84  @li Allow applications to include all of CAF by just doing <code>#include \<caf//caf.h\></code>
    85  @li Agent server private directories are mapped from <code>\\private\\SID\\</code> to <code>\\private\\agentname\\</code>
    86  @section CAFDeprecated Deprecated code in CAF v2.12
    87  @li Deprecated the <code>ContentAccess::CAttribute</code> class since it did not work well with multiple content object files
    88  @li Deprecated <code>ContentAccess::CCafMimeHeader</code> and <code>ContentAccess::CMimeFieldAndData</code>, replaced with more generic <code>ContentAccess::CMetaDataArray</code> and <code>ContentAccess::CMetaData</code>
    89  @li Deprecated <code>ContentAccess::TMimeFields</code>, not needed by new APIs
    90  @li Deprecated <code>ContentAccess::CBitset</code> class, no longer required when retrieving attributes with new APIs
    91  @li Deprecated <code>ContentAccess::TCAFUtilsPanics</code> used by <code>ContentAccess::CBitset</code>
    92  @li Deprecated <code>void CData::SetQosL(TQosAttribute aQosAttr, TInt aValue)</code> (see <code>ContentAccess::CData::SetQosL()</code>), \n replaced by <code>ContentAccess::CData::SetProperty()</code>. 
    93  @li Deprecated <code>ContentAccess::TQosAttribute</code>, replaced by <code>ContentAccess::TAgentProperty</code>
    94  @li Deprecated <code>CAttribute* CContent::NewAttributeL(TBool aPreloaded)</code> (see <code>ContentAccess::CContent::NewAttributeL()</code>).
    95  @li Deprecated <code>CAttribute* CContent::NewAttributeL(TBool aPreloaded, TContentShareMode aShareMode)</code> (see <code>ContentAccess::CContent::NewAttributeL()</code>). 
    96  @li Deprecated <code>ContentAccess::CContent::OpenContentL(TIntent, TContentShareMode)</code> function (see <code>ContentAccess::CContent::OpenContentL()</code>). \n The <code>ContentAccess::TContentShareMode</code> is now on the <code>ContentAccess::CContent::NewL()</code>. 
    97  @li Deprecated <code>TBool CData::GetMimeTypeL(TDes8& aMimeType) const;</code> (see <code>ContentAccess::CData::GetMimeTypeL()</code>), can now retrieve this from string attributes. 
    98  @li Deprecated <code>static void  CManager::DeleteFileL (const TDesC &aFileName);</code> (see <code>ContentAccess::CManager::DeleteFileL()</code>), \n replaced with non leaving function <code>ContentAccess::CManager::DeleteFile()</code>. 
    99  @li Deprecated <code>CImportFile * CSupplier::ImportFileL (CCafMimeHeader &aMimeHeader, const TDesC &aSuggestedFileName);</code> (see <code>ContentAccess::CSupplier::ImportFileL()</code>), \n replaced with function that takes a <code>ContentAccess::CMetaDataArray</code>. 
   100  @li Deprecated <code>CAttribute &  CSupplierOutputFile::AttributesL (TBool aPreloaded);</code> (see <code>ContentAccess::CSupplierOutputFile::AttributesL()</code>) \n since <code>ContentAccess::CAttribute</code> is deprecated. 
   101 */