--- a/userlibandfileserver/fileserver/sfat32/sl_drv.cpp Wed Jul 21 14:46:58 2010 +0100
+++ b/userlibandfileserver/fileserver/sfat32/sl_drv.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -49,6 +49,7 @@
{
if((iMount != NULL) && (iMount->LocalDrive() != NULL))
{
+ ASSERT(iMount->LocalDrive()->Mount() == NULL || iMount->LocalDrive()->Mount() == iMount);
iMount->LocalDrive()->SetMount(NULL);
}
iMount = NULL;
@@ -117,7 +118,7 @@
@return KErrBadPower - failure due to low power
*/
-TInt TDriveInterface::ReadNonCritical(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const
+TInt TDriveInterface::ReadNonCritical(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag) const
{
//__PRINT2(_L("#=+++ Read_nc2: pos:%LU, len:%u"), aPos, aLength);
@@ -126,7 +127,7 @@
for(;;)
{
- nRes = iProxyDrive.Read(aPos, aLength, aTrg, aMessage, anOffset);
+ nRes = iProxyDrive.Read(aPos, aLength, aTrg, aMessage, anOffset, aFlag);
if (nRes==KErrNone)
break;
@@ -200,7 +201,7 @@
@return KErrCorrupt - an illegal write is detected
@return KErrAccessDenied - write to protected media
*/
-TInt TDriveInterface::WriteNonCritical(TInt64 aPos, TInt aLength, const TAny* aSrc, const RMessagePtr2 &aMessage, TInt anOffset)
+TInt TDriveInterface::WriteNonCritical(TInt64 aPos, TInt aLength, const TAny* aSrc, const RMessagePtr2 &aMessage, TInt anOffset, TUint aFlag)
{
//__PRINT2(_L("#=+++ Write_NC: pos:%LU, len:%u"), aPos, aLength);
@@ -211,7 +212,7 @@
for(;;)
{
iMount->OpenMountForWrite(); //-- make a callback to CFatMountCB to perform some actions on 1st write.
- nRes = iProxyDrive.Write(aPos, aLength, aSrc, aMessage, anOffset);
+ nRes = iProxyDrive.Write(aPos, aLength, aSrc, aMessage, anOffset, aFlag);
if (nRes==KErrNone)
break;
@@ -542,10 +543,10 @@
//-- see original TDriveInterface methods
-TInt TDriveInterface::XProxyDriveWrapper::Read(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const
+TInt TDriveInterface::XProxyDriveWrapper::Read(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag) const
{
EnterCriticalSection();
- TInt nRes = iLocalDrive->Read(aPos, aLength, aTrg, aMessage.Handle(), anOffset);
+ TInt nRes = iLocalDrive->Read(aPos, aLength, aTrg, aMessage.Handle(), anOffset, aFlag);
LeaveCriticalSection();
return nRes;
}
@@ -558,10 +559,10 @@
return nRes;
}
-TInt TDriveInterface::XProxyDriveWrapper::Write(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset)
+TInt TDriveInterface::XProxyDriveWrapper::Write(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag)
{
EnterCriticalSection();
- TInt nRes = iLocalDrive->Write(aPos, aLength, aSrc, aMessage.Handle(), anOffset);
+ TInt nRes = iLocalDrive->Write(aPos, aLength, aSrc, aMessage.Handle(), anOffset, aFlag);
LeaveCriticalSection();
return nRes;
}