userlibandfileserver/fileserver/shostmassstorage/server/controller/cusbmssuspendresume.cpp
changeset 297 b2826f67641f
parent 31 56f325a607ea
equal deleted inserted replaced
296:94f2adf59133 297:b2826f67641f
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    32 #include "cusbhostmslogicalunit.h"
    32 #include "cusbhostmslogicalunit.h"
    33 #include "cusbhostmsdevice.h"
    33 #include "cusbhostmsdevice.h"
    34 #include "cbulkonlytransport.h"
    34 #include "cbulkonlytransport.h"
    35 #include "cusbmssuspendresume.h"
    35 #include "cusbmssuspendresume.h"
    36 
    36 
    37 #include "msdebug.h"
    37 #include "OstTraceDefinitions.h"
    38 #include "debug.h"
    38 #ifdef OST_TRACE_COMPILER_IN_USE
       
    39 #include "cusbmssuspendresumeTraces.h"
       
    40 #endif
    39 
    41 
    40 
    42 
    41 void CUsbMsIfaceSuspendResume::RunL()
    43 void CUsbMsIfaceSuspendResume::RunL()
    42     {
    44     {
    43     __MSFNLOG
    45     iDevice->ResumeCompletedL();
    44 	iDevice->ResumeCompletedL();
    46     if(iCancelSuspend)
    45 	if(iCancelSuspend)
    47         {
    46 		{
    48         OstTrace0(TRACE_SHOSTMASSSTORAGE_SUSPEND, CUSBMSSUSPENDRESUME_10,
    47 		User::RequestComplete(iDeviceStatus, iStatus.Int());
    49                   "SUSPEND/RESUME completed.");
    48 		iDeviceStatus = NULL;
    50         User::RequestComplete(iDeviceStatus, iStatus.Int());
    49 		}
    51         iDeviceStatus = NULL;
    50 	else
    52         }
    51 		{
    53     else
    52 		iDevice->DoHandleRemoteWakeupL();
    54         {
    53 		}
    55         OstTrace0(TRACE_SHOSTMASSSTORAGE_SUSPEND, CUSBMSSUSPENDRESUME_11,
       
    56                   "REMOTE WAKEUP");
       
    57         iDevice->DoHandleRemoteWakeupL();
       
    58         }
    54     }
    59     }
    55 
    60 
    56 /**
    61 /**
    57 Cancellation of outstanding request
    62 Cancellation of outstanding request
    58 */
    63 */
    59 void CUsbMsIfaceSuspendResume::DoCancel()
    64 void CUsbMsIfaceSuspendResume::DoCancel()
    60 	{
    65     {
    61     __MSFNLOG
    66     }
    62 	}
       
    63 
    67 
    64 TInt CUsbMsIfaceSuspendResume::RunError(TInt aError)
    68 TInt CUsbMsIfaceSuspendResume::RunError(TInt aError)
    65 	{
    69     {
    66     __MSFNLOG
    70     OstTrace1(TRACE_SHOSTMASSSTORAGE_SUSPEND, CUSBMSSUSPENDRESUME_12,
       
    71                   "Error = %d", aError);
    67     return KErrNone;
    72     return KErrNone;
    68 	}
    73     }
    69 
    74 
    70 
    75 
    71 void CUsbMsIfaceSuspendResume::Resume(TRequestStatus& aStatus)
    76 void CUsbMsIfaceSuspendResume::Resume(TRequestStatus& aStatus)
    72 	{
    77     {
    73     __MSFNLOG
    78     OstTrace0(TRACE_SHOSTMASSSTORAGE_SUSPEND, CUSBMSSUSPENDRESUME_13,
    74 	iCancelSuspend = ETrue;
    79                   "RESUME");
       
    80     iCancelSuspend = ETrue;
    75     aStatus = KRequestPending;
    81     aStatus = KRequestPending;
    76 	iDeviceStatus = &aStatus;
    82     iDeviceStatus = &aStatus;
    77 	iTransport->Resume();
    83     iTransport->Resume();
    78 	}
    84     }
    79 
    85 
    80 void CUsbMsIfaceSuspendResume::Suspend()
    86 void CUsbMsIfaceSuspendResume::Suspend()
    81 	{
    87     {
    82     __MSFNLOG
    88     OstTrace0(TRACE_SHOSTMASSSTORAGE_SUSPEND, CUSBMSSUSPENDRESUME_14,
    83 	if(!IsActive())
    89                   "SUSPEND");
    84 		SetActive();
    90     if(!IsActive())
    85 	iCancelSuspend = EFalse;
    91         SetActive();
    86 	iTransport->Suspend(iStatus);
    92     iCancelSuspend = EFalse;
    87 	}
    93     iTransport->Suspend(iStatus);
       
    94     }
    88 
    95 
    89 CUsbMsIfaceSuspendResume* CUsbMsIfaceSuspendResume::NewL(MTransport *aTransport, CUsbHostMsDevice *aDevice)
    96 CUsbMsIfaceSuspendResume* CUsbMsIfaceSuspendResume::NewL(MTransport *aTransport, CUsbHostMsDevice *aDevice)
    90 	{
    97     {
    91 	return new (ELeave) CUsbMsIfaceSuspendResume(aTransport, aDevice);
    98     return new (ELeave) CUsbMsIfaceSuspendResume(aTransport, aDevice);
    92 	}
    99     }
    93 
   100 
    94 CUsbMsIfaceSuspendResume::CUsbMsIfaceSuspendResume(MTransport* aTransport, CUsbHostMsDevice* aDevice)
   101 CUsbMsIfaceSuspendResume::CUsbMsIfaceSuspendResume(MTransport* aTransport, CUsbHostMsDevice* aDevice)
    95 :	CActive(EPriorityHigh),
   102 :   CActive(EPriorityHigh),
    96     iTransport(aTransport),
   103     iTransport(aTransport),
    97     iDevice(aDevice),
   104     iDevice(aDevice),
    98     iCancelSuspend(EFalse)
   105     iCancelSuspend(EFalse)
    99 	{
   106     {
   100     __MSFNLOG
   107     CActiveScheduler::Add(this);
   101 	CActiveScheduler::Add(this);
   108     }
   102 	}
       
   103 
   109 
   104 CUsbMsIfaceSuspendResume::~CUsbMsIfaceSuspendResume()
   110 CUsbMsIfaceSuspendResume::~CUsbMsIfaceSuspendResume()
   105 	{
   111     {
   106     __MSFNLOG
   112     Cancel();
   107 	Cancel();
   113     }
   108 	}
       
   109 
   114