mtpfws/mtpfw/dataproviders/dputility/src/cmtpgetobject.cpp
branchRCL_3
changeset 4 60a94a45d437
parent 0 d0791faffa3f
--- a/mtpfws/mtpfw/dataproviders/dputility/src/cmtpgetobject.cpp	Mon Mar 15 12:43:12 2010 +0200
+++ b/mtpfws/mtpfw/dataproviders/dputility/src/cmtpgetobject.cpp	Wed Mar 31 22:58:56 2010 +0300
@@ -99,17 +99,24 @@
 	    // The object handle has already been checked, so an invalid handle can
 	    // only occur if it was invalidated during a context switch between
 	    // the validation time and now.
-	    iError = EMTPRespCodeInvalidObjectHandle;
+	    SendResponseL(EMTPRespCodeInvalidObjectHandle);
 	    }
 	else if ( objectInfo->Uint(CMTPObjectMetaData::EFormatCode)==EMTPFormatCodeAssociation 
 	        && objectInfo->Uint(CMTPObjectMetaData::EFormatSubCode)==EMTPAssociationTypeGenericFolder)
 	    {
-	    iError = EMTPRespCodeInvalidObjectHandle;
+	    SendResponseL(EMTPRespCodeInvalidObjectHandle);
 	    }
     else
         {
-    	BuildFileObjectL(objectInfo->DesC(CMTPObjectMetaData::ESuid));
-    	SendDataL(*iFileObject);	
+    		TRAPD(err, BuildFileObjectL(objectInfo->DesC(CMTPObjectMetaData::ESuid)));
+    		if (err == KErrNone)
+    			{
+    			SendDataL(*iFileObject);	
+    			}
+    		else
+    			{
+    			SendResponseL(EMTPRespCodeAccessDenied);
+    			}
         }
     __FLOG(_L8("ServiceL - Exit"));
 	}