kerneltest/f32test/shostmassstorage/testclient/usbtestmsclient/drivepublisher.cpp
changeset 297 b2826f67641f
parent 0 a41df078684a
--- a/kerneltest/f32test/shostmassstorage/testclient/usbtestmsclient/drivepublisher.cpp	Tue Oct 26 11:12:58 2010 +0100
+++ b/kerneltest/f32test/shostmassstorage/testclient/usbtestmsclient/drivepublisher.cpp	Tue Oct 26 12:49:20 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
@@ -20,7 +20,7 @@
 // CUsbTransferPublisher,
 // CUsbReadTransferPublisher,
 // CUsbReadTransferPublisher.
-// 
+//
 //
 
 
@@ -42,39 +42,38 @@
 #include "drivepublisher.h"
 #include "drivemanager.h"
 #include "debug.h"
-#include "msdebug.h"
 
 //
 // Use Lookup table to translate from the internal pair of state variables
 // to the externally published drive state code.
 //
-LOCAL_D	const TUint8 table[][5] =
+LOCAL_D const TUint8 table[][5] =
 {
 //TMountState=EDisconnected
-	{EUsbMsDriveState_Disconnected,
-	 EUsbMsDriveState_Disconnected,
-	 EUsbMsDriveState_Disconnected,
-	 EUsbMsDriveState_Disconnected,
-	 EUsbMsDriveState_Disconnected},
+    {EUsbMsDriveState_Disconnected,
+     EUsbMsDriveState_Disconnected,
+     EUsbMsDriveState_Disconnected,
+     EUsbMsDriveState_Disconnected,
+     EUsbMsDriveState_Disconnected},
 //TMountState=EConnecting
-	{EUsbMsDriveState_Connecting,
-	 EUsbMsDriveState_Connecting,
-	 EUsbMsDriveState_Connecting,
-	 EUsbMsDriveState_Connecting,
-	 EUsbMsDriveState_Connecting},
+    {EUsbMsDriveState_Connecting,
+     EUsbMsDriveState_Connecting,
+     EUsbMsDriveState_Connecting,
+     EUsbMsDriveState_Connecting,
+     EUsbMsDriveState_Connecting},
 //TMountState=EConnected
-	//EIdle,EActive,ELocked,EMediaNotPresent,EErrDisMounted
-	{EUsbMsDriveState_Connected,
-	 EUsbMsDriveState_Active,
-	 EUsbMsDriveState_Locked,
-	 EUsbMsDriveState_MediaNotPresent,
-	 EUsbMsDriveState_Removed},
+    //EIdle,EActive,ELocked,EMediaNotPresent,EErrDisMounted
+    {EUsbMsDriveState_Connected,
+     EUsbMsDriveState_Active,
+     EUsbMsDriveState_Locked,
+     EUsbMsDriveState_MediaNotPresent,
+     EUsbMsDriveState_Removed},
 //TMountState=EDisconnecting
-	{EUsbMsDriveState_Disconnecting,
-	 EUsbMsDriveState_Disconnecting,
-	 EUsbMsDriveState_Disconnecting,
-	 EUsbMsDriveState_Disconnecting,
-	 EUsbMsDriveState_Disconnecting}
+    {EUsbMsDriveState_Disconnecting,
+     EUsbMsDriveState_Disconnecting,
+     EUsbMsDriveState_Disconnecting,
+     EUsbMsDriveState_Disconnecting,
+     EUsbMsDriveState_Disconnecting}
 };
 
 
@@ -83,27 +82,25 @@
 Constructor
 */
 RDriveMediaErrorPublisher::RDriveMediaErrorPublisher()
-	{
-	__MSFNLOG
-	_LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
-	_LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
+    {
+    _LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
+    _LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
 
-	TInt result = RProperty::Define(EUsbMsDriveState_MediaError, RProperty::EInt,
-									KMassStorageReadPolicy, KMassStorageWritePolicy);
+    TInt result = RProperty::Define(EUsbMsDriveState_MediaError, RProperty::EInt,
+                                    KMassStorageReadPolicy, KMassStorageWritePolicy);
 
-	__ASSERT_DEBUG(result == KErrAlreadyExists || result == KErrNone, User::Invariant());
+    __ASSERT_DEBUG(result == KErrAlreadyExists || result == KErrNone, User::Invariant());
 
-	result = iMediaErrorProperty.Attach(KUsbMsDriveState_Category, EUsbMsDriveState_MediaError);
-	__ASSERT_DEBUG(result == KErrNone, User::Invariant());
-	}
+    result = iMediaErrorProperty.Attach(KUsbMsDriveState_Category, EUsbMsDriveState_MediaError);
+    __ASSERT_DEBUG(result == KErrNone, User::Invariant());
+    }
 
 
 RDriveMediaErrorPublisher::~RDriveMediaErrorPublisher()
-	{
-	__MSFNLOG
-	iMediaErrorProperty.Close();
-	RProperty::Delete(KUsbMsDriveState_Category, EUsbMsDriveState_MediaError);
-	}
+    {
+    iMediaErrorProperty.Close();
+    RProperty::Delete(KUsbMsDriveState_Category, EUsbMsDriveState_MediaError);
+    }
 
 /**
 Publishing method
@@ -113,18 +110,17 @@
 @param aError ETrue if drive media has an error else EFalse for no error
 */
 void RDriveMediaErrorPublisher::PublishErrorL(TBool aError)
-	{
-    __MSFNLOG
-	__PRINT1(_L("<< RDriveMediaErrorPublisher::PublishError %x"), aError);
+    {
+    __PRINT1(_L("<< RDriveMediaErrorPublisher::PublishError %x"), aError);
+
+    TInt oldValue;
+    iMediaErrorProperty.Get(oldValue);
 
-	TInt oldValue;
-	iMediaErrorProperty.Get(oldValue);
-
-	if (oldValue != aError)
-		{
-		User::LeaveIfError(iMediaErrorProperty.Set(aError));
-		}
-	}
+    if (oldValue != aError)
+        {
+        User::LeaveIfError(iMediaErrorProperty.Set(aError));
+        }
+    }
 
 //----------------------------------------------------------------------------
 /**
@@ -134,29 +130,27 @@
 @param aDriveMap
 */
 RDriveStateChangedPublisher::RDriveStateChangedPublisher(const TMsDriveList& aDrives,
-														 const TLunToDriveMap& aDriveMap)
-	:
-	iDrives(aDrives),
-	iDriveMap(aDriveMap)
-	{
-	__MSFNLOG
-	_LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
-	_LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
+                                                         const TLunToDriveMap& aDriveMap)
+    :
+    iDrives(aDrives),
+    iDriveMap(aDriveMap)
+    {
+    _LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
+    _LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
 
-	TInt result = RProperty::Define(KUsbMsDriveState_Category,
-									EUsbMsDriveState_DriveStatus, RProperty::EByteArray,
-									KMassStorageReadPolicy, KMassStorageWritePolicy,
-									KUsbMsMaxDrives*2);
-	__ASSERT_DEBUG(result == KErrAlreadyExists || result == KErrNone, User::Invariant());
-	result = result;	// remove urel warning
-	}
+    TInt result = RProperty::Define(KUsbMsDriveState_Category,
+                                    EUsbMsDriveState_DriveStatus, RProperty::EByteArray,
+                                    KMassStorageReadPolicy, KMassStorageWritePolicy,
+                                    KUsbMsMaxDrives*2);
+    __ASSERT_DEBUG(result == KErrAlreadyExists || result == KErrNone, User::Invariant());
+    result = result;    // remove urel warning
+    }
 
 
 RDriveStateChangedPublisher::~RDriveStateChangedPublisher()
-	{
-	__MSFNLOG
-	RProperty::Delete(KUsbMsDriveState_Category, EUsbMsDriveState_DriveStatus);
-	}
+    {
+    RProperty::Delete(KUsbMsDriveState_Category, EUsbMsDriveState_DriveStatus);
+    }
 
 
 /**
@@ -166,36 +160,35 @@
 values encoded into one 32-bit word.
 */
 void RDriveStateChangedPublisher::DriveStateChanged()
-	{
-	__MSFNLOG
-	TUsbMsDrivesStatus allDrivesStatus;
+    {
+    TUsbMsDrivesStatus allDrivesStatus;
 
-	for(TUint8 i = 0; i < iDrives.Count(); i++)
-		{
-		allDrivesStatus.Append(iDriveMap[i]);
+    for(TUint8 i = 0; i < iDrives.Count(); i++)
+        {
+        allDrivesStatus.Append(iDriveMap[i]);
 
-		CMassStorageDrive::TMountState ms = iDrives[i]->MountState();
-		TLocalDriveRef::TDriveState ds = iDrives[i]->DriveState();
-		TInt driveStatus = EUsbMsDriveState_Error;
-		if((TUint8)ds < sizeof(table[0]) && (TUint8)ms < sizeof(table)/sizeof(table[0]))
-			{
-			driveStatus = table[ms][ds];
-			__PRINT3(_L("ms=%d ds=%d %d"), ms, ds, driveStatus);
-			}
-		allDrivesStatus.Append(driveStatus);
-		}
+        CMassStorageDrive::TMountState ms = iDrives[i]->MountState();
+        TLocalDriveRef::TDriveState ds = iDrives[i]->DriveState();
+        TInt driveStatus = EUsbMsDriveState_Error;
+        if((TUint8)ds < sizeof(table[0]) && (TUint8)ms < sizeof(table)/sizeof(table[0]))
+            {
+            driveStatus = table[ms][ds];
+            __PRINT3(_L("ms=%d ds=%d %d"), ms, ds, driveStatus);
+            }
+        allDrivesStatus.Append(driveStatus);
+        }
 
 
-	__PRINT1(_L("Publishing EUsbMsDriveState_DriveStatus for %d drives\n"),
-				allDrivesStatus.Length()/2);
+    __PRINT1(_L("Publishing EUsbMsDriveState_DriveStatus for %d drives\n"),
+                allDrivesStatus.Length()/2);
 
-	if(KErrNone != RProperty::Set(KUsbMsDriveState_Category,
-								  EUsbMsDriveState_DriveStatus,
-								  allDrivesStatus))
-		{
-		__ASSERT_DEBUG(EFalse,User::Invariant());
-		}
-	}
+    if(KErrNone != RProperty::Set(KUsbMsDriveState_Category,
+                                  EUsbMsDriveState_DriveStatus,
+                                  allDrivesStatus))
+        {
+        __ASSERT_DEBUG(EFalse,User::Invariant());
+        }
+    }
 
 
 //----------------------------------------------------------------------------
@@ -209,53 +202,49 @@
 CUsbTransferPublisher::CUsbTransferPublisher(TUsbMsDriveState_Subkey aSubKey,
                                              const TBytesTransferedList& aArray)
 :   iSubKey(aSubKey),
-	iArray(aArray)
-	{
-    __MSFNLOG
-	}
+    iArray(aArray)
+    {
+    }
 
 
 void CUsbTransferPublisher::ConstructL()
-	{
-	__MSFNLOG
+    {
+    _LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
+    _LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
 
-	_LIT_SECURITY_POLICY_PASS(KMassStorageReadPolicy);
-	_LIT_SECURITY_POLICY_S0(KMassStorageWritePolicy, KUsbMsDriveState_Category.iUid);
-
-	TInt r = RProperty::Define(iSubKey, RProperty::EByteArray,
-							   KMassStorageReadPolicy, KMassStorageWritePolicy,
-							   KUsbMsMaxDrives*sizeof(TInt));
+    TInt r = RProperty::Define(iSubKey, RProperty::EByteArray,
+                               KMassStorageReadPolicy, KMassStorageWritePolicy,
+                               KUsbMsMaxDrives*sizeof(TInt));
 
-	if (r != KErrAlreadyExists)
-		{
-		User::LeaveIfError(r);
-		}
+    if (r != KErrAlreadyExists)
+        {
+        User::LeaveIfError(r);
+        }
 
-	// Attach to the properties here. Only do this once, continuously attaching
-	// will currently cause a memory leak
-	User::LeaveIfError(iProperty.Attach(KUsbMsDriveState_Category, iSubKey));
+    // Attach to the properties here. Only do this once, continuously attaching
+    // will currently cause a memory leak
+    User::LeaveIfError(iProperty.Attach(KUsbMsDriveState_Category, iSubKey));
 
-	// Create the EDataTransferred timer
-	iTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-	iTimerRunning = EFalse;
-	}
+    // Create the EDataTransferred timer
+    iTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+    iTimerRunning = EFalse;
+    }
 
 
 /**
 Destructor
 */
 CUsbTransferPublisher::~CUsbTransferPublisher()
-	{
-	__MSFNLOG
-	if(iTimer)
-		{
-		iTimer->Cancel();
-		}
-	delete iTimer;
-	iProperty.Close();
+    {
+    if(iTimer)
+        {
+        iTimer->Cancel();
+        }
+    delete iTimer;
+    iProperty.Close();
 
-	RProperty::Delete(KUsbMsDriveState_Category, iSubKey);
-	}
+    RProperty::Delete(KUsbMsDriveState_Category, iSubKey);
+    }
 
 
 /**
@@ -266,11 +255,10 @@
 @return not used in CPeriodic callback (see TCallback)
 */
 TInt CUsbTransferPublisher::PublishDataTransferredEvent(TAny* obj)
-	{
-	__MSFNSLOG
-	static_cast<CUsbTransferPublisher*>(obj)->DoPublishDataTransferredEvent();
-	return 1;
-	}
+    {
+    static_cast<CUsbTransferPublisher*>(obj)->DoPublishDataTransferredEvent();
+    return 1;
+    }
 
 
 /**
@@ -278,22 +266,21 @@
 the last update.
 */
 void CUsbTransferPublisher::DoPublishDataTransferredEvent()
-	{
-    __MSFNLOG
-	if (PublishDataTransferred())
-		{
-		// some data has been transfered so reset the counter
-		iTimerCancelCnt = ETimerCancelDelay;
-		}
+    {
+    if (PublishDataTransferred())
+        {
+        // some data has been transfered so reset the counter
+        iTimerCancelCnt = ETimerCancelDelay;
+        }
 
-	// Update the cancel count if no data was transferred the last
-	// (few) times this has been called
-	if (--iTimerCancelCnt == 0)
-		{
-		StopTimer();
-		iTimerCancelCnt = ETimerCancelDelay;
-		}
-	}
+    // Update the cancel count if no data was transferred the last
+    // (few) times this has been called
+    if (--iTimerCancelCnt == 0)
+        {
+        StopTimer();
+        iTimerCancelCnt = ETimerCancelDelay;
+        }
+    }
 
 
 /**
@@ -301,43 +288,42 @@
 the last update.
 */
 TBool CUsbTransferPublisher::PublishDataTransferred()
-	{
-	__MSFNLOG
-	TUsbMsBytesTransferred bytesTransferred;
-	TBool dataTransferred = EFalse;
+    {
+    TUsbMsBytesTransferred bytesTransferred;
+    TBool dataTransferred = EFalse;
+
+    for (TInt i = 0; i < iArray.Count(); i++)
+        {
+        bytesTransferred[i] = GetBytesTransferred(i);
+        }
 
-	for (TInt i = 0; i < iArray.Count(); i++)
-		{
-		bytesTransferred[i] = GetBytesTransferred(i);
-		}
+    // Update the properties only if they have changed
+    // (or if there's an error reading the old value.)
+    // Possible optimisation: keep a copy of the value
+    // as a member variable so we don't need the Get.
+    TUsbMsBytesTransferred oldValue;
 
-	// Update the properties only if they have changed
-	// (or if there's an error reading the old value.)
-	// Possible optimisation: keep a copy of the value
-	// as a member variable so we don't need the Get.
-	TUsbMsBytesTransferred oldValue;
-
-	if ((iProperty.Get(oldValue) != KErrNone) || (oldValue != bytesTransferred))
-		{
+    if ((iProperty.Get(oldValue) != KErrNone) || (oldValue != bytesTransferred))
+        {
 #ifdef __PRINT3
-		// trace of the bytes transferred
-		for (TInt j=0; j < iArray.Count(); j++)
-			{
-			if(oldValue[j] != bytesTransferred[j])
-				{
-				__PRINT3(_L("CDrivePublisher: KBytes[%d] %d->%d\n"), j, oldValue[j], bytesTransferred[j]);
-				}
-			}
+        // trace of the bytes transferred
+        for (TInt j=0; j < iArray.Count(); j++)
+            {
+            if(oldValue[j] != bytesTransferred[j])
+                {
+                __PRINT3(_L("CDrivePublisher: KBytes[%d] %d->%d\n"), j, oldValue[j], bytesTransferred[j]);
+                }
+            }
 #endif
-		if (KErrNone != iProperty.Set(bytesTransferred))
-			{
-			__ASSERT_DEBUG(EFalse, User::Invariant());
-			}
-		dataTransferred = ETrue;
-		}
+        if (KErrNone != iProperty.Set(bytesTransferred))
+            {
+            __ASSERT_DEBUG(EFalse, User::Invariant());
+            }
+        dataTransferred = ETrue;
+        }
 
-	return dataTransferred;
-	}
+    return dataTransferred;
+    }
 
 
 /**
@@ -345,33 +331,31 @@
 If the timer is not yet running then start it.
 */
 void CUsbTransferPublisher::StartTimer()
-	{
-	__MSFNLOG
-	if (!iTimerRunning)
-		{
-		// EDataTransferred event every second
-		const TTimeIntervalMicroSeconds32 interval = 1 * 1000 * 1000;
-		TCallBack callback(PublishDataTransferredEvent, this);
-		__PRINT(_L("Starting timer"));
-		iTimer->Start(interval, interval, callback);
-		iTimerRunning = ETrue;
-		}
-	}
+    {
+    if (!iTimerRunning)
+        {
+        // EDataTransferred event every second
+        const TTimeIntervalMicroSeconds32 interval = 1 * 1000 * 1000;
+        TCallBack callback(PublishDataTransferredEvent, this);
+        __PRINT(_L("Starting timer"));
+        iTimer->Start(interval, interval, callback);
+        iTimerRunning = ETrue;
+        }
+    }
 
 
 /**
 Ensure that the Timer is stopped
 */
 void CUsbTransferPublisher::StopTimer()
-	{
-	__MSFNLOG
-	if (iTimerRunning)
-		{
-		__PRINT(_L("Stopping timer"));
-		iTimer->Cancel();
-		iTimerRunning = EFalse;
-		}
-	}
+    {
+    if (iTimerRunning)
+        {
+        __PRINT(_L("Stopping timer"));
+        iTimer->Cancel();
+        iTimerRunning = EFalse;
+        }
+    }
 
 
 //----------------------------------------------------------------------------
@@ -381,21 +365,19 @@
 @param aArray
 */
 CUsbWriteTransferPublisher* CUsbWriteTransferPublisher::NewL(const TBytesTransferedList& aArray)
-	{
-	__MSFNSLOG
-	CUsbWriteTransferPublisher* self = new (ELeave) CUsbWriteTransferPublisher(aArray);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop();
-	return self;
-	}
+    {
+    CUsbWriteTransferPublisher* self = new (ELeave) CUsbWriteTransferPublisher(aArray);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
 
 
 CUsbWriteTransferPublisher::CUsbWriteTransferPublisher(const TBytesTransferedList& aArray)
 :   CUsbTransferPublisher(EUsbMsDriveState_KBytesWritten, aArray)
-	{
-    __MSFNLOG
-	}
+    {
+    }
 
 
 //----------------------------------------------------------------------------
@@ -405,21 +387,19 @@
 @param aArray
 */
 CUsbReadTransferPublisher* CUsbReadTransferPublisher::NewL(const TBytesTransferedList& aArray)
-	{
-	__MSFNSLOG
-	CUsbReadTransferPublisher* self = new (ELeave) CUsbReadTransferPublisher(aArray);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop();
-	return self;
-	}
+    {
+    CUsbReadTransferPublisher* self = new (ELeave) CUsbReadTransferPublisher(aArray);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
 
 
 CUsbReadTransferPublisher::CUsbReadTransferPublisher(const TBytesTransferedList& aArray)
 :   CUsbTransferPublisher(EUsbMsDriveState_KBytesRead, aArray)
-	{
-    __MSFNLOG
-	}
+    {
+    }
 
 /**
 Transfer function for the property
@@ -430,5 +410,5 @@
 */
 TUint CUsbTransferPublisher::GetBytesTransferred(TLun aLun) const
 {
-	return I64LOW(iArray[aLun] / (TUint64)1000);
+    return I64LOW(iArray[aLun] / (TUint64)1000);
 }