[Common-cvs] fileio/platform/symbian hxdatasource_ccontent.cpp, 1.2, 1.3 hxdatasource_descriptor.cpp, 1.2, 1.3 hxdatasourcemmfclip.cpp, 1.4, 1.5
rrajesh at helixcommunity.org rrajesh at helixcommunity.orgUpdate of /cvsroot/common/fileio/platform/symbian In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv11847/platform/symbian Modified Files: hxdatasource_ccontent.cpp hxdatasource_descriptor.cpp hxdatasourcemmfclip.cpp Log Message: "Nokia submits this code under the terms of a commercial contribution > agreement with RealNetworks, and I am authorized to contribute this > code under said agreement." > > Modified by: rajesh.rathinasamy at nokia.com > > Reviewed by: > > Date: 17-May-2007 > > Project: SymbianMmf > > ErrorId: ETZG-732BAQ > > Synopsis: Detection of MMC Card removal during playback when Symbian > data source is used > > MMC card removal during playout results in read error which was not > handled. Added a new API to datasource interface similar to ferror(). > Only symbianMMf uses the data source interface now, so adding a new > interface does not have any impact on other platforms. > > Also updated the install pcf file to include meta data dll to the > video and audio controller package files. > > > Root Cause of the problem: Implementation > > Files Modified: > common/include/ihxmmfdatasource.h > common/fileio/hxdatasource.cpp > common/fileio/platform/symbian/hxdatasource_ccontent.cpp > common/fileio/platform/symbian/hxdatasource_descriptor.cpp > common/fileio/platform/symbian/hxdatasourcemmfclip.cpp > common/fileio/pub/hxdatasource.h > filesystem/local/mini/minifileobj.cpp > filesystem/local/mini/minifileobj.h > filesystem/progdown/platform/symbian/pdfileobj.cpp > clientapps/symbianMmf/audiocontroller/installMMF.pcf > clientapps/symbianMmf/videocontroller/installMMF.pcf > > > Image Size and Heap Use impact: no major impact > > Module Release testing (STIF) : Passed. > > Test case(s) Added : No. > > Memory leak check performed : Yes. No new leaks introduced. > > Platforms and Profiles Build Verified: > helix-client-s60-32-mmf-mdf-arm > > Platforms and Profiles Functionality verified: armv5,winscw > > Branch: Head & 210CayS Index: hxdatasource_ccontent.cpp =================================================================== RCS file: /cvsroot/common/fileio/platform/symbian/hxdatasource_ccontent.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- hxdatasource_ccontent.cpp 19 Sep 2006 23:58:42 -0000 1.2 +++ hxdatasource_ccontent.cpp 22 May 2007 14:53:50 -0000 1.3 @@ -168,6 +168,7 @@ else { bytesRead = 0; + SetLastError(HXR_READ_ERROR); HXLOGL1(HXLOG_FILE, "CHXDataSourceCContent::Read error=%d", err); } @@ -178,7 +179,7 @@ UINT32 CHXDataSourceCContent::Write( void *pBuf, ULONG32 size, ULONG32 count) { - + SetLastError(HXR_NOTIMPL); HX_ASSERT("CHXDataSourceCContent::Write" == NULL); return 0; } @@ -239,6 +240,7 @@ else { hxr = HXR_FAIL; + SetLastError(hxr); } return hxr; } Index: hxdatasourcemmfclip.cpp =================================================================== RCS file: /cvsroot/common/fileio/platform/symbian/hxdatasourcemmfclip.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- hxdatasourcemmfclip.cpp 27 Mar 2007 14:59:28 -0000 1.4 +++ hxdatasourcemmfclip.cpp 22 May 2007 14:53:50 -0000 1.5 @@ -119,6 +119,8 @@ if(error != KErrNone) { HXLOGL1(HXLOG_FILE, "CHXDataSourceMMFClip::Read error=%d", error); + SetLastError(HXR_READ_ERROR); + retVal = 0; } return retVal; @@ -135,6 +137,7 @@ if(error != KErrNone) { HXLOGL1(HXLOG_FILE, "CHXDataSourceMMFClip::Write error=%d", error); + SetLastError(HXR_WRITE_ERROR); } return retVal; Index: hxdatasource_descriptor.cpp =================================================================== RCS file: /cvsroot/common/fileio/platform/symbian/hxdatasource_descriptor.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- hxdatasource_descriptor.cpp 19 Sep 2006 23:58:42 -0000 1.2 +++ hxdatasource_descriptor.cpp 22 May 2007 14:53:50 -0000 1.3 @@ -111,6 +111,7 @@ if(requestSize <= 0) { + SetLastError(HXR_READ_ERROR); return 0; } @@ -126,7 +127,7 @@ UINT32 CHXDataSourceDescriptor::Write( void *pBuf, ULONG32 size, ULONG32 count) { - + SetLastError(HXR_NOTIMPL); HX_ASSERT("CHXDataSourceDescriptor::WriteL" == NULL); return 0; }