diff -r 000000000000 -r bde4ae8d615e os/security/contentmgmt/contentaccessfwfordrm/engineering/dox/ReleaseNotes.dox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/security/contentmgmt/contentaccessfwfordrm/engineering/dox/ReleaseNotes.dox Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,101 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +//
+// to enum TStringAttribute. Adding these new attributes allows CAF to better support the OMA DRM v2 DCF specification. +//
+// processes using this API no long have to hold the DRM capability. The DRM +// capability must only be enforced by Content Access Agents on APIs that +// manipulate rights or that handle the plain text form of protected/encryted +// rights or content. +//
+// 'KCafLoadPostProductionAgents' held in a new patchdata.cpp file. Also updated +// caf.iby obey file to allow this variable to be set by licensees. The +// compile-time macro CAF_LOAD_POST_PRODUCTION_AGENTS has now become a ROM +//
+//
+//
+//
+//
+// This release of CAF is scheduled for Mike (v9.1) +//
+//
+// +// + +/** + @page CAFReleaseNotes CAF v2.19 Release Notes + @section CAFChanges_2_19 New in CAF v2.19 + @li Added new value EContentVersion to enum TAttribute. Added two new values EContentLocation and ERightsIssuerURI + @section CAFChanges_2_18 New in CAF v2.18 + @li Removed the capability requirement on users of the CImportFile API. Client + @section CAFChanges_2_17 New in CAF v2.17 + @li Added new patchable boolean variable to caf.dll called + build-time macro. See @ref licenseesROMOnly. + @section CAFChanges_2_16 New in CAF v2.16 + @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. + @li Adding this new attribute makes CAF compliant to the OMA DRM v2 and the DCF Format. + @section CAFChanges_2_15 New in CAF v2.15 + @li Licensee considerations section of API documentation updated. + @section CAFChanges_2_14 New in CAF v2.14 + @li API documentation has been updated to clarify the usage of the asynchronous APIs. + @li New section 'Making an asynchronous SendReceive() call in an agent plugin' added to .chm file. + @section CAFChanges_2_13 New in CAF v2.13 + @li Added new error codes: KErrCACorruptContent and KErrCACorruptRights. + @li API documentation has been updated for the majority of APIs and SPIs to reflect changes. + @section AppSince10 CAF v1.0 Compatibilty + @li It will be binary compatible for applications currently using CAF v1.0 + @li There are several deprecated functions which will be removed in a future release + @li It will not 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 + @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 + @section CAFChanges_2_12 New in CAF v2.12 + @li ContentAccess::CData objects can now be constructed without a CContent object + @li ContentAccess::CContent and ContentAccess::CData objects can now be created by supplying a URI or by passing an open RFile handle + @li ContentAccess::CContent now allows applications to browse the contents of files containing more than one content object, see @ref Listing + @li ContentAccess::CData now allows applications to read a particular content object within a file, see @ref CAFCData + @li Concept of a virtual path has been introduced to identify content within a file, see @ref VirtualPaths + @li Added new attribute functions to ContentAccess::CContent and ContentAccess::CManager to query attributes related to a virtual path + @li Added ContentAccess::RAttributeSet and ContentAccess::RStringAttributeSet to allow several attributes to be queried in one function call + @li File management functions similar to \c RFs added to ContentAccess::CManager. + @li Agent management functions added to ContentAccess::CManager so applications can configure or query a particular agent + @li Event Notification functions added to ContentAccess::CContent and ContentAccess::CManager. The events currently relate to changes in the rights status of a content object. + @li Agent specific commands supported on ContentAccess::CContent and ContentAccess::CManager. + @li ContentAccess::CSupplier and ContentAccess::CImportFile now allow the client to supply output file handles for the agent to write to. See ContentAccess::CImportFile::ContinueWithNewOutputFile() + @li ContentAccess::CContent, ContentAccess::CData and ContentAccess::CImportFile now use less memory + @li ContentAccess::CAgentConsumer has been renamed ContentAccess::CAgentData + @li ContentAccess::CAgentSupplier has been renamed ContentAccess::CAgentImportFile + @li ContentAccess::CAgentRightsManager added to the agent interface + @li Added ContentAccess::CContentIterator to simplify discovery of content objects + @li Added template class ContentAccess::RStreamablePtrArray that simplifies the task of transferring arrays across the client server boundary. + @li Agents will implement the user interface. Applications can request to suppress the agent UI using the SetProperty() function (e.g. ContentAccess::CContent::SetProperty()). See @ref CAFUI + @li KDefaultContentObject 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 KNullDesC16(), the file will be opened in exactly the same way as an \c RFile, no translation will occur. + @li ContentAccess::CData::SetQosL() renamed to ContentAccess::CData::SetProperty(). Allows it to apply to other aspects of an agent without causing confusion + @li Removed "const" from ContentAccess::CData::Read() and ContentAccess::CData::Seek() functions so agents can maintain an internal state if necessary + @li Allow applications to include all of CAF by just doing #include \ + @li Agent server private directories are mapped from \\private\\SID\\ to \\private\\agentname\\ + @section CAFDeprecated Deprecated code in CAF v2.12 + @li Deprecated the ContentAccess::CAttribute class since it did not work well with multiple content object files + @li Deprecated ContentAccess::CCafMimeHeader and ContentAccess::CMimeFieldAndData, replaced with more generic ContentAccess::CMetaDataArray and ContentAccess::CMetaData + @li Deprecated ContentAccess::TMimeFields, not needed by new APIs + @li Deprecated ContentAccess::CBitset class, no longer required when retrieving attributes with new APIs + @li Deprecated ContentAccess::TCAFUtilsPanics used by ContentAccess::CBitset + @li Deprecated void CData::SetQosL(TQosAttribute aQosAttr, TInt aValue) (see ContentAccess::CData::SetQosL()), \n replaced by ContentAccess::CData::SetProperty(). + @li Deprecated ContentAccess::TQosAttribute, replaced by ContentAccess::TAgentProperty + @li Deprecated CAttribute* CContent::NewAttributeL(TBool aPreloaded) (see ContentAccess::CContent::NewAttributeL()). + @li Deprecated CAttribute* CContent::NewAttributeL(TBool aPreloaded, TContentShareMode aShareMode) (see ContentAccess::CContent::NewAttributeL()). + @li Deprecated ContentAccess::CContent::OpenContentL(TIntent, TContentShareMode) function (see ContentAccess::CContent::OpenContentL()). \n The ContentAccess::TContentShareMode is now on the ContentAccess::CContent::NewL(). + @li Deprecated TBool CData::GetMimeTypeL(TDes8& aMimeType) const; (see ContentAccess::CData::GetMimeTypeL()), can now retrieve this from string attributes. + @li Deprecated static void CManager::DeleteFileL (const TDesC &aFileName); (see ContentAccess::CManager::DeleteFileL()), \n replaced with non leaving function ContentAccess::CManager::DeleteFile(). + @li Deprecated CImportFile * CSupplier::ImportFileL (CCafMimeHeader &aMimeHeader, const TDesC &aSuggestedFileName); (see ContentAccess::CSupplier::ImportFileL()), \n replaced with function that takes a ContentAccess::CMetaDataArray. + @li Deprecated CAttribute & CSupplierOutputFile::AttributesL (TBool aPreloaded); (see ContentAccess::CSupplierOutputFile::AttributesL()) \n since ContentAccess::CAttribute is deprecated. +*/