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 |