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.
sl@0
     1
// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// <hr>
sl@0
    15
// to enum TStringAttribute.  Adding these new attributes allows CAF to better support the OMA DRM v2 DCF specification.
sl@0
    16
// <hr>
sl@0
    17
// processes using this API no long have to hold the DRM capability. The DRM 
sl@0
    18
// capability must only be enforced by Content Access Agents on APIs that 
sl@0
    19
// manipulate rights or that handle the plain text form of protected/encryted 
sl@0
    20
// rights or content.
sl@0
    21
// <hr>
sl@0
    22
// 'KCafLoadPostProductionAgents' held in a new patchdata.cpp file. Also updated
sl@0
    23
// caf.iby obey file to allow this variable to be set by licensees. The 
sl@0
    24
// compile-time macro CAF_LOAD_POST_PRODUCTION_AGENTS has now become a ROM 
sl@0
    25
// <hr>
sl@0
    26
// <hr>
sl@0
    27
// <hr>
sl@0
    28
// <hr>
sl@0
    29
// <hr>
sl@0
    30
// This release of CAF is scheduled for Mike (v9.1) 
sl@0
    31
// <hr>
sl@0
    32
// <hr>
sl@0
    33
// 
sl@0
    34
//
sl@0
    35
sl@0
    36
/**
sl@0
    37
 @page CAFReleaseNotes CAF v2.19 Release Notes
sl@0
    38
 @section CAFChanges_2_19 New in CAF v2.19
sl@0
    39
 @li Added new value EContentVersion to enum TAttribute.  Added two new values EContentLocation and ERightsIssuerURI
sl@0
    40
 @section CAFChanges_2_18 New in CAF v2.18
sl@0
    41
 @li Removed the capability requirement on users of the CImportFile API. Client
sl@0
    42
 @section CAFChanges_2_17 New in CAF v2.17
sl@0
    43
 @li Added new patchable boolean variable to caf.dll called 
sl@0
    44
 build-time macro. See @ref licenseesROMOnly.
sl@0
    45
 @section CAFChanges_2_16 New in CAF v2.16
sl@0
    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.
sl@0
    47
 @li Adding this new attribute makes CAF compliant to the OMA DRM v2 and the DCF Format.
sl@0
    48
 @section CAFChanges_2_15 New in CAF v2.15
sl@0
    49
 @li Licensee considerations section of API documentation updated.
sl@0
    50
 @section CAFChanges_2_14 New in CAF v2.14
sl@0
    51
 @li API documentation has been updated to clarify the usage of the asynchronous APIs.
sl@0
    52
 @li New section 'Making an asynchronous SendReceive() call in an agent plugin' added to .chm file.
sl@0
    53
 @section CAFChanges_2_13 New in CAF v2.13
sl@0
    54
 @li Added new error codes: KErrCACorruptContent and KErrCACorruptRights.
sl@0
    55
 @li API documentation has been updated for the majority of APIs and SPIs to reflect changes. 
sl@0
    56
 @section AppSince10 CAF v1.0 Compatibilty
sl@0
    57
 @li It will be binary compatible for applications currently using CAF v1.0
sl@0
    58
 @li There are several deprecated functions which will be removed in a future release
sl@0
    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
sl@0
    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
sl@0
    61
 @section CAFChanges_2_12 New in CAF v2.12
sl@0
    62
 @li <code>ContentAccess::CData</code> objects can now be constructed without a CContent object
sl@0
    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
sl@0
    64
 @li <code>ContentAccess::CContent</code> now allows applications to browse the contents of files containing more than one content object, see @ref Listing
sl@0
    65
 @li <code>ContentAccess::CData</code> now allows applications to read a particular content object within a file, see @ref CAFCData
sl@0
    66
 @li Concept of a virtual path has been introduced to identify content within a file, see @ref VirtualPaths 
sl@0
    67
 @li Added new attribute functions to <code>ContentAccess::CContent</code> and <code>ContentAccess::CManager</code> to query attributes related to a virtual path
sl@0
    68
 @li Added <code>ContentAccess::RAttributeSet</code> and <code>ContentAccess::RStringAttributeSet</code> to allow several attributes to be queried in one function call
sl@0
    69
 @li File management functions similar to \c RFs added to <code>ContentAccess::CManager</code>.
sl@0
    70
 @li Agent management functions added to <code>ContentAccess::CManager</code> so applications can configure or query a particular agent
sl@0
    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.
sl@0
    72
 @li Agent specific commands supported on <code>ContentAccess::CContent</code> and <code>ContentAccess::CManager</code>.
sl@0
    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>
sl@0
    74
 @li <code>ContentAccess::CContent</code>, <code>ContentAccess::CData</code> and <code>ContentAccess::CImportFile</code> now use less memory 
sl@0
    75
 @li <code>ContentAccess::CAgentConsumer</code> has been renamed <code>ContentAccess::CAgentData</code>
sl@0
    76
 @li <code>ContentAccess::CAgentSupplier</code> has been renamed <code>ContentAccess::CAgentImportFile</code>
sl@0
    77
 @li <code>ContentAccess::CAgentRightsManager</code> added to the agent interface
sl@0
    78
 @li Added <code>ContentAccess::CContentIterator</code> to simplify discovery of content objects
sl@0
    79
 @li Added template class <code>ContentAccess::RStreamablePtrArray</code> that simplifies the task of transferring arrays across the client server boundary.
sl@0
    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
sl@0
    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.
sl@0
    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
sl@0
    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
sl@0
    84
 @li Allow applications to include all of CAF by just doing <code>#include \<caf//caf.h\></code>
sl@0
    85
 @li Agent server private directories are mapped from <code>\\private\\SID\\</code> to <code>\\private\\agentname\\</code>
sl@0
    86
 @section CAFDeprecated Deprecated code in CAF v2.12
sl@0
    87
 @li Deprecated the <code>ContentAccess::CAttribute</code> class since it did not work well with multiple content object files
sl@0
    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>
sl@0
    89
 @li Deprecated <code>ContentAccess::TMimeFields</code>, not needed by new APIs
sl@0
    90
 @li Deprecated <code>ContentAccess::CBitset</code> class, no longer required when retrieving attributes with new APIs
sl@0
    91
 @li Deprecated <code>ContentAccess::TCAFUtilsPanics</code> used by <code>ContentAccess::CBitset</code>
sl@0
    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>. 
sl@0
    93
 @li Deprecated <code>ContentAccess::TQosAttribute</code>, replaced by <code>ContentAccess::TAgentProperty</code>
sl@0
    94
 @li Deprecated <code>CAttribute* CContent::NewAttributeL(TBool aPreloaded)</code> (see <code>ContentAccess::CContent::NewAttributeL()</code>).
sl@0
    95
 @li Deprecated <code>CAttribute* CContent::NewAttributeL(TBool aPreloaded, TContentShareMode aShareMode)</code> (see <code>ContentAccess::CContent::NewAttributeL()</code>). 
sl@0
    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>. 
sl@0
    97
 @li Deprecated <code>TBool CData::GetMimeTypeL(TDes8& aMimeType) const;</code> (see <code>ContentAccess::CData::GetMimeTypeL()</code>), can now retrieve this from string attributes. 
sl@0
    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>. 
sl@0
    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>. 
sl@0
   100
 @li Deprecated <code>CAttribute &  CSupplierOutputFile::AttributesL (TBool aPreloaded);</code> (see <code>ContentAccess::CSupplierOutputFile::AttributesL()</code>) \n since <code>ContentAccess::CAttribute</code> is deprecated. 
sl@0
   101
*/