1 /* |
1 /* |
2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
28 #include "msmm_internal_def.h" |
28 #include "msmm_internal_def.h" |
29 #include <usb/hostms/msmmpolicypluginbase.h> |
29 #include <usb/hostms/msmmpolicypluginbase.h> |
30 #include <usb/hostms/srverr.h> |
30 #include <usb/hostms/srverr.h> |
31 |
31 |
32 #include <usb/usblogger.h> |
32 #include <usb/usblogger.h> |
33 |
33 #include "OstTraceDefinitions.h" |
34 #ifdef __FLOG_ACTIVE |
34 #ifdef OST_TRACE_COMPILER_IN_USE |
35 _LIT8(KLogComponent, "UsbHostMsmmServer"); |
35 #include "subcommandsTraces.h" |
36 #endif |
36 #endif |
|
37 |
37 |
38 |
38 /** |
39 /** |
39 * TRegisterInterface member functions |
40 * TRegisterInterface member functions |
40 */ |
41 */ |
41 TRegisterInterface::TRegisterInterface(THostMsSubCommandParam aParam): |
42 TRegisterInterface::TRegisterInterface(THostMsSubCommandParam aParam): |
42 TSubCommandBase(aParam), |
43 TSubCommandBase(aParam), |
43 iDeviceNode(NULL), |
44 iDeviceNode(NULL), |
44 iInterfaceNode(NULL) |
45 iInterfaceNode(NULL) |
45 { |
46 { |
46 LOG_FUNC |
47 OstTraceFunctionEntry0( TREGISTERINTERFACE_TREGISTERINTERFACE_CONS_ENTRY ); |
47 } |
48 } |
48 |
49 |
49 void TRegisterInterface::DoExecuteL() |
50 void TRegisterInterface::DoExecuteL() |
50 { |
51 { |
51 LOG_FUNC |
52 OstTraceFunctionEntry0( TREGISTERINTERFACE_DOEXECUTEL_ENTRY ); |
52 |
53 |
53 // Add new interface node into data engine |
54 // Add new interface node into data engine |
54 iInterfaceNode = iServer.Engine().AddUsbMsInterfaceL(iEvent.iDeviceId, |
55 iInterfaceNode = iServer.Engine().AddUsbMsInterfaceL(iEvent.iDeviceId, |
55 iEvent.iInterfaceNumber, iEvent.iInterfaceToken); |
56 iEvent.iInterfaceNumber, iEvent.iInterfaceToken); |
56 |
57 |
72 iMsConfig.iProtocolId = device.iProtocolId; |
73 iMsConfig.iProtocolId = device.iProtocolId; |
73 iMsConfig.iTransportId = device.iTransportId; |
74 iMsConfig.iTransportId = device.iTransportId; |
74 iMsConfig.iRemoteWakeup = device.iRemoteWakeup; |
75 iMsConfig.iRemoteWakeup = device.iRemoteWakeup; |
75 iMsConfig.iIsOtgClient = device.iIsOtgClient; |
76 iMsConfig.iIsOtgClient = device.iIsOtgClient; |
76 |
77 |
77 LOGTEXT2(_L8("\t iMsConfig.iProtocolId %d"), iMsConfig.iProtocolId); |
78 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL, |
78 LOGTEXT2(_L8("\t iMsConfig.iTransportId %d"), iMsConfig.iTransportId); |
79 "iMsConfig.iProtocolId %d", iMsConfig.iProtocolId ); |
79 LOGTEXT2(_L8("\t iMsConfig.iRemoteWakeup %d"), iMsConfig.iRemoteWakeup); |
80 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL_DUP1, |
80 LOGTEXT2(_L8("\t iMsConfig.iIsOtgClient %d"), iMsConfig.iIsOtgClient); |
81 "iMsConfig.iTransportId %d", iMsConfig.iTransportId ); |
81 |
82 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL_DUP2, |
|
83 "iMsConfig.iRemoteWakeup %d", iMsConfig.iRemoteWakeup ); |
|
84 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL_DUP3, |
|
85 "iMsConfig.iIsOtgClient %d", iMsConfig.iIsOtgClient ); |
|
86 |
82 TSuspensionPolicy suspensionPolicy; |
87 TSuspensionPolicy suspensionPolicy; |
83 iServer.PolicyPlugin()->GetSuspensionPolicy(suspensionPolicy); |
88 iServer.PolicyPlugin()->GetSuspensionPolicy(suspensionPolicy); |
84 iMsConfig.iOtgSuspendTime = suspensionPolicy.iOtgSuspendTime; |
89 iMsConfig.iOtgSuspendTime = suspensionPolicy.iOtgSuspendTime; |
85 iMsConfig.iStatusPollingInterval = suspensionPolicy.iStatusPollingInterval; |
90 iMsConfig.iStatusPollingInterval = suspensionPolicy.iStatusPollingInterval; |
86 |
91 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL_DUP4, |
87 LOGTEXT2(_L8("\t iMsConfig.iStatusPollingInterval %d"), iMsConfig.iStatusPollingInterval); |
92 "iMsConfig.iStatusPollingInterval %d", iMsConfig.iStatusPollingInterval ); |
88 LOGTEXT2(_L8("\t iMsConfig.iOtgSuspendTime %d"), iMsConfig.iOtgSuspendTime); |
93 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOEXECUTEL_DUP5, |
89 |
94 "iMsConfig.iOtgSuspendTime %d", iMsConfig.iOtgSuspendTime ); |
|
95 |
90 iHandler.Start(); |
96 iHandler.Start(); |
91 iInterfaceNode->iUsbMsDevice.Add(iMsConfig, iHandler.Status()); |
97 iInterfaceNode->iUsbMsDevice.Add(iMsConfig, iHandler.Status()); |
|
98 OstTraceFunctionExit0( TREGISTERINTERFACE_DOEXECUTEL_EXIT ); |
92 } |
99 } |
93 |
100 |
94 void TRegisterInterface::HandleError(THostMsErrData& aData, TInt aError) |
101 void TRegisterInterface::HandleError(THostMsErrData& aData, TInt aError) |
95 { |
102 { |
96 LOG_FUNC |
103 OstTraceFunctionEntry0( TREGISTERINTERFACE_HANDLEERROR_ENTRY ); |
97 |
104 |
98 switch (aError) |
105 switch (aError) |
99 { |
106 { |
100 case KErrNoMemory: |
107 case KErrNoMemory: |
101 aData.iError = EHostMsErrOutOfMemory; |
108 aData.iError = EHostMsErrOutOfMemory; |
118 if (iInterfaceNode) |
125 if (iInterfaceNode) |
119 { |
126 { |
120 iServer.Engine().RemoveUsbMsNode(iInterfaceNode); |
127 iServer.Engine().RemoveUsbMsNode(iInterfaceNode); |
121 iInterfaceNode = NULL; |
128 iInterfaceNode = NULL; |
122 } |
129 } |
|
130 OstTraceFunctionExit0( TREGISTERINTERFACE_HANDLEERROR_EXIT ); |
123 } |
131 } |
124 |
132 |
125 void TRegisterInterface::DoAsyncCmdCompleteL() |
133 void TRegisterInterface::DoAsyncCmdCompleteL() |
126 { |
134 { |
127 LOG_FUNC |
135 OstTraceFunctionEntry0( TREGISTERINTERFACE_DOASYNCCMDCOMPLETEL_ENTRY ); |
128 |
136 |
129 User::LeaveIfError(iHandler.Status().Int()); |
137 User::LeaveIfError(iHandler.Status().Int()); |
130 if(iInterfaceNode) |
138 if(iInterfaceNode) |
131 { |
139 { |
132 User::LeaveIfError( |
140 User::LeaveIfError( |
133 iInterfaceNode->iUsbMsDevice.GetNumLun(iMaxLogicalUnit)); |
141 iInterfaceNode->iUsbMsDevice.GetNumLun(iMaxLogicalUnit)); |
134 } |
142 } |
135 |
143 |
136 LOGTEXT2(_L8("\tGetNumLun %d"), iMaxLogicalUnit); |
144 OstTrace1( TRACE_NORMAL, TREGISTERINTERFACE_DOASYNCCMDCOMPLETEL, |
|
145 "GetNumLun %d", iMaxLogicalUnit ); |
137 |
146 |
138 iCreator.CreateSubCmdForRetrieveDriveLetterL(iMaxLogicalUnit); |
147 iCreator.CreateSubCmdForRetrieveDriveLetterL(iMaxLogicalUnit); |
|
148 OstTraceFunctionExit0( TREGISTERINTERFACE_DOASYNCCMDCOMPLETEL_EXIT ); |
139 } |
149 } |
140 |
150 |
141 void TRegisterInterface::DoCancelAsyncCmd() |
151 void TRegisterInterface::DoCancelAsyncCmd() |
142 { |
152 { |
143 LOG_FUNC |
153 OstTraceFunctionEntry0( TREGISTERINTERFACE_DOCANCELASYNCCMD_ENTRY ); |
144 |
154 |
145 if(iInterfaceNode) |
155 if(iInterfaceNode) |
146 { |
156 { |
147 iInterfaceNode->iUsbMsDevice.Remove(); |
157 iInterfaceNode->iUsbMsDevice.Remove(); |
148 iServer.Engine().RemoveUsbMsNode(iInterfaceNode); |
158 iServer.Engine().RemoveUsbMsNode(iInterfaceNode); |
149 iInterfaceNode = NULL; |
159 iInterfaceNode = NULL; |
150 } |
160 } |
|
161 OstTraceFunctionExit0( TREGISTERINTERFACE_DOCANCELASYNCCMD_EXIT ); |
151 } |
162 } |
152 |
163 |
153 /** |
164 /** |
154 * TRetrieveDriveLetter member functions |
165 * TRetrieveDriveLetter member functions |
155 */ |
166 */ |
158 THostMsSubCommandParam& aParameter, TInt aLuNumber): |
169 THostMsSubCommandParam& aParameter, TInt aLuNumber): |
159 TSubCommandBase(aParameter), |
170 TSubCommandBase(aParameter), |
160 iLuNumber(aLuNumber), |
171 iLuNumber(aLuNumber), |
161 iDrive(0) |
172 iDrive(0) |
162 { |
173 { |
163 LOG_FUNC |
174 OstTraceFunctionEntry0( TRETRIEVEDRIVELETTER_TRETRIEVEDRIVELETTER_CONS_ENTRY ); |
164 } |
175 } |
165 |
176 |
166 void TRetrieveDriveLetter::DoExecuteL() |
177 void TRetrieveDriveLetter::DoExecuteL() |
167 { |
178 { |
168 LOG_FUNC |
179 OstTraceFunctionEntry0( TRETRIEVEDRIVELETTER_DOEXECUTEL_ENTRY ); |
169 |
180 |
170 TUsbMsDevice* deviceEntry(NULL); |
181 TUsbMsDevice* deviceEntry(NULL); |
171 deviceEntry = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
182 deviceEntry = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
172 if (!deviceEntry) |
183 if (!deviceEntry) |
173 { |
184 { |
192 iHandler.Start(); |
203 iHandler.Start(); |
193 TRequestStatus& status = iHandler.Status(); |
204 TRequestStatus& status = iHandler.Status(); |
194 iServer.PolicyPlugin()->RetrieveDriveLetterL( |
205 iServer.PolicyPlugin()->RetrieveDriveLetterL( |
195 iDrive, iRequestData, status); |
206 iDrive, iRequestData, status); |
196 } |
207 } |
|
208 OstTraceFunctionExit0( TRETRIEVEDRIVELETTER_DOEXECUTEL_EXIT ); |
197 } |
209 } |
198 |
210 |
199 void TRetrieveDriveLetter::HandleError(THostMsErrData& aData, TInt aError) |
211 void TRetrieveDriveLetter::HandleError(THostMsErrData& aData, TInt aError) |
200 { |
212 { |
201 LOG_FUNC |
213 OstTraceFunctionEntry0( TRETRIEVEDRIVELETTER_HANDLEERROR_ENTRY ); |
202 |
214 |
203 switch (aError) |
215 switch (aError) |
204 { |
216 { |
205 case KErrArgument: |
217 case KErrArgument: |
206 aData.iError = EHostMsErrInvalidParameter; |
218 aData.iError = EHostMsErrInvalidParameter; |
216 } |
228 } |
217 aData.iE32Error = aError; |
229 aData.iE32Error = aError; |
218 aData.iManufacturerString = iRequestData.iManufacturerString; |
230 aData.iManufacturerString = iRequestData.iManufacturerString; |
219 aData.iProductString = iRequestData.iProductString; |
231 aData.iProductString = iRequestData.iProductString; |
220 aData.iDriveName = iDrive; |
232 aData.iDriveName = iDrive; |
|
233 OstTraceFunctionExit0( TRETRIEVEDRIVELETTER_HANDLEERROR_EXIT ); |
221 } |
234 } |
222 |
235 |
223 void TRetrieveDriveLetter::DoAsyncCmdCompleteL() |
236 void TRetrieveDriveLetter::DoAsyncCmdCompleteL() |
224 { |
237 { |
225 LOG_FUNC |
238 OstTraceFunctionEntry0( TRETRIEVEDRIVELETTER_DOASYNCCMDCOMPLETEL_ENTRY ); |
226 |
239 |
227 User::LeaveIfError(iHandler.Status().Int()); |
240 User::LeaveIfError(iHandler.Status().Int()); |
228 |
241 |
229 iCreator.CreateSubCmdForMountingLogicalUnitL(iDrive, iLuNumber); |
242 iCreator.CreateSubCmdForMountingLogicalUnitL(iDrive, iLuNumber); |
|
243 OstTraceFunctionExit0( TRETRIEVEDRIVELETTER_DOASYNCCMDCOMPLETEL_EXIT ); |
230 } |
244 } |
231 |
245 |
232 void TRetrieveDriveLetter::DoCancelAsyncCmd() |
246 void TRetrieveDriveLetter::DoCancelAsyncCmd() |
233 { |
247 { |
234 LOG_FUNC |
248 OstTraceFunctionEntry0( TRETRIEVEDRIVELETTER_DOCANCELASYNCCMD_ENTRY ); |
235 |
249 |
236 iServer.PolicyPlugin()->CancelRetrieveDriveLetter(); |
250 iServer.PolicyPlugin()->CancelRetrieveDriveLetter(); |
|
251 OstTraceFunctionExit0( TRETRIEVEDRIVELETTER_DOCANCELASYNCCMD_EXIT ); |
237 } |
252 } |
238 |
253 |
239 /** |
254 /** |
240 * TMountLogicalUnit member functions |
255 * TMountLogicalUnit member functions |
241 */ |
256 */ |
244 TText aDrive, TInt aLuNumber): |
259 TText aDrive, TInt aLuNumber): |
245 TSubCommandBase(aParameter), |
260 TSubCommandBase(aParameter), |
246 iDrive(aDrive), |
261 iDrive(aDrive), |
247 iLuNumber(aLuNumber) |
262 iLuNumber(aLuNumber) |
248 { |
263 { |
249 LOG_FUNC |
264 OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_TMOUNTLOGICALUNIT_CONS_ENTRY ); |
250 |
265 |
251 iIsKeyCommand = EFalse; |
266 iIsKeyCommand = EFalse; |
|
267 OstTraceFunctionExit0( TMOUNTLOGICALUNIT_TMOUNTLOGICALUNIT_CONS_EXIT ); |
252 } |
268 } |
253 |
269 |
254 void TMountLogicalUnit::DoExecuteL() |
270 void TMountLogicalUnit::DoExecuteL() |
255 { |
271 { |
256 LOG_FUNC |
272 OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_DOEXECUTEL_ENTRY ); |
|
273 |
257 TInt ret(KErrNone); |
274 TInt ret(KErrNone); |
258 RFs& fs = iServer.FileServerSession(); |
275 RFs& fs = iServer.FileServerSession(); |
259 |
276 |
260 TInt driveNum; |
277 TInt driveNum; |
261 User::LeaveIfError(fs.CharToDrive(iDrive, driveNum)); |
278 User::LeaveIfError(fs.CharToDrive(iDrive, driveNum)); |
275 |
292 |
276 ret = interface->iUsbMsDevice.MountLun(iLuNumber, driveNum); |
293 ret = interface->iUsbMsDevice.MountLun(iLuNumber, driveNum); |
277 if ((KErrNone != ret) && (KErrAlreadyExists != ret) |
294 if ((KErrNone != ret) && (KErrAlreadyExists != ret) |
278 && (KErrNotReady != ret)) |
295 && (KErrNotReady != ret)) |
279 { |
296 { |
280 User::Leave (ret); |
297 if (KErrAbort != ret) |
|
298 User::Leave (ret); |
281 } |
299 } |
282 |
300 |
283 iHandler.Start(); |
301 iHandler.Start(); |
284 iHandler.Complete(); |
302 iHandler.Complete(); |
|
303 OstTraceFunctionExit0( TMOUNTLOGICALUNIT_DOEXECUTEL_EXIT ); |
285 } |
304 } |
286 |
305 |
287 void TMountLogicalUnit::HandleError(THostMsErrData& aData, TInt aError) |
306 void TMountLogicalUnit::HandleError(THostMsErrData& aData, TInt aError) |
288 { |
307 { |
289 LOG_FUNC |
308 OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_HANDLEERROR_ENTRY ); |
290 |
309 |
291 switch (aError) |
310 switch (aError) |
292 { |
311 { |
293 case KErrNoMemory: |
312 case KErrNoMemory: |
294 aData.iError = EHostMsErrOutOfMemory; |
313 aData.iError = EHostMsErrOutOfMemory; |
334 { |
353 { |
335 aData.iManufacturerString.Copy(deviceNode->iDevice.iManufacturerString); |
354 aData.iManufacturerString.Copy(deviceNode->iDevice.iManufacturerString); |
336 aData.iProductString.Copy(deviceNode->iDevice.iProductString); |
355 aData.iProductString.Copy(deviceNode->iDevice.iProductString); |
337 } |
356 } |
338 aData.iDriveName = iDrive; |
357 aData.iDriveName = iDrive; |
|
358 OstTraceFunctionExit0( TMOUNTLOGICALUNIT_HANDLEERROR_EXIT ); |
339 } |
359 } |
340 |
360 |
341 void TMountLogicalUnit::DoAsyncCmdCompleteL() |
361 void TMountLogicalUnit::DoAsyncCmdCompleteL() |
342 { |
362 { |
343 LOG_FUNC |
363 OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_DOASYNCCMDCOMPLETEL_ENTRY ); |
344 |
364 |
345 iServer.Engine().AddUsbMsLogicalUnitL( |
365 iServer.Engine().AddUsbMsLogicalUnitL( |
346 iEvent.iDeviceId, iEvent.iInterfaceNumber, |
366 iEvent.iDeviceId, iEvent.iInterfaceNumber, |
347 iLuNumber, iDrive); |
367 iLuNumber, iDrive); |
348 iCreator.CreateSubCmdForSaveLatestMountInfoL(iDrive, iLuNumber); |
368 iCreator.CreateSubCmdForSaveLatestMountInfoL(iDrive, iLuNumber); |
|
369 OstTraceFunctionExit0( TMOUNTLOGICALUNIT_DOASYNCCMDCOMPLETEL_EXIT ); |
349 } |
370 } |
350 |
371 |
351 /** |
372 /** |
352 * TSaveLatestMountInfo member functions |
373 * TSaveLatestMountInfo member functions |
353 */ |
374 */ |
357 TText aDrive, TInt aLuNumber): |
378 TText aDrive, TInt aLuNumber): |
358 TSubCommandBase(aParameter), |
379 TSubCommandBase(aParameter), |
359 iDrive(aDrive), |
380 iDrive(aDrive), |
360 iLuNumber(aLuNumber) |
381 iLuNumber(aLuNumber) |
361 { |
382 { |
362 LOG_FUNC |
383 OstTraceFunctionEntry0( TSAVELATESTMOUNTINFO_TSAVELATESTMOUNTINFO_CONS_ENTRY ); |
363 |
384 |
364 iIsKeyCommand = EFalse; |
385 iIsKeyCommand = EFalse; |
|
386 OstTraceFunctionExit0( TSAVELATESTMOUNTINFO_TSAVELATESTMOUNTINFO_CONS_EXIT ); |
365 } |
387 } |
366 |
388 |
367 void TSaveLatestMountInfo::DoExecuteL() |
389 void TSaveLatestMountInfo::DoExecuteL() |
368 { |
390 { |
369 LOG_FUNC |
391 OstTraceFunctionEntry0( TSAVELATESTMOUNTINFO_DOEXECUTEL_ENTRY ); |
370 |
392 |
371 TUsbMsDevice* deviceEntry(NULL); |
393 TUsbMsDevice* deviceEntry(NULL); |
372 deviceEntry = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
394 deviceEntry = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
373 if (!deviceEntry) |
395 if (!deviceEntry) |
374 { |
396 { |
375 User::Leave(KErrArgument); |
397 User::Leave(KErrArgument); |
396 iHandler.Start(); |
418 iHandler.Start(); |
397 TRequestStatus& status = iHandler.Status(); |
419 TRequestStatus& status = iHandler.Status(); |
398 |
420 |
399 iServer.PolicyPlugin()->SaveLatestMountInfoL(iRecord, status); |
421 iServer.PolicyPlugin()->SaveLatestMountInfoL(iRecord, status); |
400 } |
422 } |
|
423 OstTraceFunctionExit0( TSAVELATESTMOUNTINFO_DOEXECUTEL_EXIT ); |
401 } |
424 } |
402 |
425 |
403 void TSaveLatestMountInfo::DoAsyncCmdCompleteL() |
426 void TSaveLatestMountInfo::DoAsyncCmdCompleteL() |
404 { |
427 { |
405 LOG_FUNC |
428 OstTraceFunctionEntry0( TSAVELATESTMOUNTINFO_DOASYNCCMDCOMPLETEL_ENTRY ); |
|
429 |
406 User::LeaveIfError(iHandler.Status().Int()); |
430 User::LeaveIfError(iHandler.Status().Int()); |
|
431 OstTraceFunctionExit0( TSAVELATESTMOUNTINFO_DOASYNCCMDCOMPLETEL_EXIT ); |
407 } |
432 } |
408 |
433 |
409 void TSaveLatestMountInfo::HandleError(THostMsErrData& aData, TInt aError) |
434 void TSaveLatestMountInfo::HandleError(THostMsErrData& aData, TInt aError) |
410 { |
435 { |
411 LOG_FUNC |
436 OstTraceFunctionEntry0( TSAVELATESTMOUNTINFO_HANDLEERROR_ENTRY ); |
412 |
437 |
413 switch (aError) |
438 switch (aError) |
414 { |
439 { |
415 case KErrNoMemory: |
440 case KErrNoMemory: |
416 aData.iError = EHostMsErrOutOfMemory; |
441 aData.iError = EHostMsErrOutOfMemory; |
417 break; |
442 break; |
423 } |
448 } |
424 aData.iE32Error = aError; |
449 aData.iE32Error = aError; |
425 aData.iManufacturerString = iRecord.iLogicUnit.iManufacturerString; |
450 aData.iManufacturerString = iRecord.iLogicUnit.iManufacturerString; |
426 aData.iProductString = iRecord.iLogicUnit.iProductString; |
451 aData.iProductString = iRecord.iLogicUnit.iProductString; |
427 aData.iDriveName = iDrive; |
452 aData.iDriveName = iDrive; |
|
453 OstTraceFunctionExit0( TSAVELATESTMOUNTINFO_HANDLEERROR_EXIT ); |
428 } |
454 } |
429 |
455 |
430 void TSaveLatestMountInfo::DoCancelAsyncCmd() |
456 void TSaveLatestMountInfo::DoCancelAsyncCmd() |
431 { |
457 { |
432 LOG_FUNC |
458 OstTraceFunctionEntry0( TSAVELATESTMOUNTINFO_DOCANCELASYNCCMD_ENTRY ); |
433 |
459 |
434 iServer.PolicyPlugin()->CancelSaveLatestMountInfo(); |
460 iServer.PolicyPlugin()->CancelSaveLatestMountInfo(); |
|
461 OstTraceFunctionExit0( TSAVELATESTMOUNTINFO_DOCANCELASYNCCMD_EXIT ); |
435 } |
462 } |
436 |
463 |
437 |
464 |
438 /** |
465 /** |
439 * TDeregisterInterface member functions |
466 * TDeregisterInterface member functions |
446 iInterfaceNumber(aInterfaceNumber), |
473 iInterfaceNumber(aInterfaceNumber), |
447 iInterfaceToken(aInterfaceToken), |
474 iInterfaceToken(aInterfaceToken), |
448 iDeviceNode(NULL), |
475 iDeviceNode(NULL), |
449 iInterfaceNode(NULL) |
476 iInterfaceNode(NULL) |
450 { |
477 { |
451 LOG_FUNC |
478 OstTraceFunctionEntry0( TDEREGISTERINTERFACE_TDEREGISTERINTERFACE_CONS_ENTRY ); |
452 } |
479 } |
453 |
480 |
454 void TDeregisterInterface::DoExecuteL() |
481 void TDeregisterInterface::DoExecuteL() |
455 { |
482 { |
456 LOG_FUNC |
483 OstTraceFunctionEntry0( TDEREGISTERINTERFACE_DOEXECUTEL_ENTRY ); |
457 |
484 |
458 iDeviceNode = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
485 iDeviceNode = iServer.Engine().SearchDevice(iEvent.iDeviceId); |
459 if (!iDeviceNode) |
486 if (!iDeviceNode) |
460 { |
487 { |
461 User::Leave(KErrArgument); |
488 User::Leave(KErrArgument); |
462 } |
489 } |
517 THostMsSubCommandParam& aParameter, |
546 THostMsSubCommandParam& aParameter, |
518 const TUsbMsLogicalUnit& aLogicalUnit): |
547 const TUsbMsLogicalUnit& aLogicalUnit): |
519 TSubCommandBase(aParameter), |
548 TSubCommandBase(aParameter), |
520 iLogicalUnit(aLogicalUnit) |
549 iLogicalUnit(aLogicalUnit) |
521 { |
550 { |
522 LOG_FUNC |
551 OstTraceFunctionEntry0( TDISMOUNTLOGICALUNIT_TDISMOUNTLOGICALUNIT_CONS_ENTRY ); |
523 } |
552 } |
524 |
553 |
525 void TDismountLogicalUnit::DoExecuteL() |
554 void TDismountLogicalUnit::DoExecuteL() |
526 { |
555 { |
527 LOG_FUNC |
556 OstTraceFunctionEntry0( TDISMOUNTLOGICALUNIT_DOEXECUTEL_ENTRY ); |
|
557 |
528 RFs& fs = iServer.FileServerSession(); |
558 RFs& fs = iServer.FileServerSession(); |
529 TInt driveNum; |
559 TInt driveNum; |
530 fs.CharToDrive(iLogicalUnit.iDrive, driveNum); |
560 fs.CharToDrive(iLogicalUnit.iDrive, driveNum); |
531 |
561 |
532 TUsbMsInterface* interface(NULL); |
562 TUsbMsInterface* interface(NULL); |
576 THostMsSubCommandParam& aParameter, |
608 THostMsSubCommandParam& aParameter, |
577 TMsmmNodeBase* aNodeToBeRemoved): |
609 TMsmmNodeBase* aNodeToBeRemoved): |
578 TSubCommandBase(aParameter), |
610 TSubCommandBase(aParameter), |
579 iNodeToBeRemoved(aNodeToBeRemoved) |
611 iNodeToBeRemoved(aNodeToBeRemoved) |
580 { |
612 { |
581 LOG_FUNC |
613 OstTraceFunctionEntry0( TREMOVEUSBMSDEVICENODE_TREMOVEUSBMSDEVICENODE_CONS_ENTRY ); |
582 } |
614 } |
583 |
615 |
584 void TRemoveUsbMsDeviceNode::DoExecuteL() |
616 void TRemoveUsbMsDeviceNode::DoExecuteL() |
585 { |
617 { |
586 LOG_FUNC |
618 OstTraceFunctionEntry0( TREMOVEUSBMSDEVICENODE_DOEXECUTEL_ENTRY ); |
|
619 |
587 if(iNodeToBeRemoved) |
620 if(iNodeToBeRemoved) |
588 { |
621 { |
589 iServer.Engine().RemoveUsbMsNode(iNodeToBeRemoved); |
622 iServer.Engine().RemoveUsbMsNode(iNodeToBeRemoved); |
590 iNodeToBeRemoved = NULL; |
623 iNodeToBeRemoved = NULL; |
591 } |
624 } |