mtpfws/mtpfw/dataproviders/proxydp/src/cmtpsetobjectproplist.cpp
changeset 20 6e82ae192c3a
parent 0 d0791faffa3f
child 60 841f70763fbe
equal deleted inserted replaced
18:1b39655331a3 20:6e82ae192c3a
    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);