equal
deleted
inserted
replaced
25 #include "cmtpobjectmgr.h" |
25 #include "cmtpobjectmgr.h" |
26 #include "cmtpparserrouter.h" |
26 #include "cmtpparserrouter.h" |
27 #include "cmtpsetobjectproplist.h" |
27 #include "cmtpsetobjectproplist.h" |
28 #include "mtpproxydppanic.h" |
28 #include "mtpproxydppanic.h" |
29 #include "rmtpframework.h" |
29 #include "rmtpframework.h" |
|
30 #include "cmtpstoragemgr.h" |
30 |
31 |
31 /** |
32 /** |
32 Two-phase construction method |
33 Two-phase construction method |
33 @param aFramework The data provider framework |
34 @param aFramework The data provider framework |
34 @param aConnection The connection from which the request comes |
35 @param aConnection The connection from which the request comes |
172 if (!iSingletons.ObjectMgr().ObjectL(KHandle, *meta)) |
173 if (!iSingletons.ObjectMgr().ObjectL(KHandle, *meta)) |
173 { |
174 { |
174 // Invalid object handle. |
175 // Invalid object handle. |
175 iResponseCode = EMTPRespCodeInvalidObjectHandle; |
176 iResponseCode = EMTPRespCodeInvalidObjectHandle; |
176 } |
177 } |
|
178 else if(!iSingletons.StorageMgr().IsReadWriteStorage(meta->Uint(CMTPObjectMetaData::EStorageId))) |
|
179 { |
|
180 iResponseCode = EMTPRespCodeAccessDenied; |
|
181 } |
177 else |
182 else |
178 { |
183 { |
179 RArray<TUint> targets; |
184 RArray<TUint> targets; |
180 CleanupClosePushL(targets); |
185 CleanupClosePushL(targets); |
181 iSingletons.Router().RouteOperationRequestL(params, targets); |
186 iSingletons.Router().RouteOperationRequestL(params, targets); |