equal
deleted
inserted
replaced
17 #include <mtp/cmtpstoragemetadata.h> |
17 #include <mtp/cmtpstoragemetadata.h> |
18 #include <mtp/mmtpdataproviderframework.h> |
18 #include <mtp/mmtpdataproviderframework.h> |
19 #include <mtp/mtpprotocolconstants.h> |
19 #include <mtp/mtpprotocolconstants.h> |
20 #include <mtp/tmtptyperequest.h> |
20 #include <mtp/tmtptyperequest.h> |
21 #include <mtp/cmtptypearray.h> |
21 #include <mtp/cmtptypearray.h> |
|
22 #include <mtp/mtpdataproviderapitypes.h> |
22 |
23 |
23 #include "cmtpdataprovider.h" |
24 #include "cmtpdataprovider.h" |
24 #include "cmtpdataprovidercontroller.h" |
25 #include "cmtpdataprovidercontroller.h" |
25 #include "cmtpdeleteobject.h" |
26 #include "cmtpdeleteobject.h" |
26 #include "cmtpobjectmgr.h" |
27 #include "cmtpobjectmgr.h" |
96 |
97 |
97 TMTPResponseCode CMTPDeleteObject::CheckRequestL() |
98 TMTPResponseCode CMTPDeleteObject::CheckRequestL() |
98 { |
99 { |
99 __FLOG(_L8("CheckRequestL - Entry")); |
100 __FLOG(_L8("CheckRequestL - Entry")); |
100 TMTPResponseCode responseCode = CMTPRequestProcessor::CheckRequestL(); |
101 TMTPResponseCode responseCode = CMTPRequestProcessor::CheckRequestL(); |
101 if ((EMTPRespCodeOK == responseCode) && (iSingletons.DpController().EnumerateState() == CMTPDataProviderController::EEnumeratingSubDirFiles)) |
|
102 { |
|
103 responseCode = EMTPRespCodeDeviceBusy; |
|
104 } |
|
105 |
102 |
106 __FLOG_VA((_L8("CheckRequestL - Exit with responseCode = 0x%04X"), responseCode)); |
103 __FLOG_VA((_L8("CheckRequestL - Exit with responseCode = 0x%04X"), responseCode)); |
107 return responseCode; |
104 return responseCode; |
108 } |
105 } |
109 |
106 |
116 iTargetDps.Reset(); |
113 iTargetDps.Reset(); |
117 CMTPParserRouter& router(iSingletons.Router()); |
114 CMTPParserRouter& router(iSingletons.Router()); |
118 CMTPParserRouter::TRoutingParameters params(Request(), iConnection); |
115 CMTPParserRouter::TRoutingParameters params(Request(), iConnection); |
119 router.ParseOperationRequestL(params); |
116 router.ParseOperationRequestL(params); |
120 router.RouteOperationRequestL(params, iTargetDps); |
117 router.RouteOperationRequestL(params, iTargetDps); |
|
118 |
|
119 if (iSingletons.DpController().EnumerateState() == CMTPDataProviderController::EEnumeratingSubDirFiles) |
|
120 { |
|
121 TBool hasBaseFileSystemDp = EFalse; |
|
122 for(TInt i=0; i<iTargetDps.Count(); i++) |
|
123 { |
|
124 CMTPDataProvider& dp = iSingletons.DpController().DataProviderL( iTargetDps[i] ); |
|
125 if(dp.SupportedCodes(EStorageSystemTypes).Find(CMTPStorageMetaData::ESystemTypeDefaultFileSystem) != KErrNotFound) |
|
126 { |
|
127 hasBaseFileSystemDp = ETrue; |
|
128 break; |
|
129 } |
|
130 } |
|
131 |
|
132 if(hasBaseFileSystemDp) |
|
133 { |
|
134 SendResponseL(EMTPRespCodeDeviceBusy); |
|
135 __FLOG( _L8("-ServiceL with Device_Busy") ); |
|
136 return; |
|
137 } |
|
138 } |
121 |
139 |
122 BrowseHandlesL(); |
140 BrowseHandlesL(); |
123 |
141 |
124 __FLOG( _L8("-ServiceL") ); |
142 __FLOG( _L8("-ServiceL") ); |
125 } |
143 } |