mtpdataproviders/mtpimagedp/src/cmtpimagedpsendobjectinfo.cpp
branchRCL_3
changeset 48 debf68073f2f
parent 43 4a793f564d72
child 58 142dacf7b30e
--- a/mtpdataproviders/mtpimagedp/src/cmtpimagedpsendobjectinfo.cpp	Tue Sep 14 22:52:29 2010 +0300
+++ b/mtpdataproviders/mtpimagedp/src/cmtpimagedpsendobjectinfo.cpp	Wed Sep 15 13:07:27 2010 +0300
@@ -98,6 +98,7 @@
 CMTPImageDpSendObjectInfo::CMTPImageDpSendObjectInfo(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, CMTPImageDataProvider& aDataProvider) :
     CMTPRequestProcessor(aFramework, aConnection, 0, NULL),
     iDataProvider(aDataProvider),
+    iHiddenStatus( EMTPVisible ),
     iObjectPropertyMgr(aDataProvider.PropertyMgr())
     {
 
@@ -785,12 +786,12 @@
         SendResponseL(EMTPRespCodeTransactionCancelled);    
         }
     else if (result && !iCancelled)
-	    {	    	    
+	    {
+        TUint attValue = 0;
+        User::LeaveIfError(iFileReceived->File().Att(attValue));
         if (iProtectionStatus ==  EMTPProtectionNoProtection ||
             iProtectionStatus == EMTPProtectionReadOnly)
             {
-            TUint attValue = 0;
-            User::LeaveIfError(iFileReceived->File().Att(attValue));
             attValue &= ~(KEntryAttNormal | KEntryAttReadOnly);
             
             if (iProtectionStatus == EMTPProtectionNoProtection)
@@ -803,6 +804,12 @@
                 }
             User::LeaveIfError(iFileReceived->File().SetAtt(attValue, ~attValue));
             }
+        if ( iHiddenStatus == EMTPHidden )
+            {
+            attValue &= ~KEntryAttHidden;
+            attValue |= KEntryAttHidden;
+            User::LeaveIfError(iFileReceived->File().SetAtt(attValue, ~attValue));
+            }
         TTime modifiedTime;
         //update datemodified property.
         if(iDateMod != NULL && iDateMod->Length())
@@ -1062,7 +1069,9 @@
     case EMTPObjectPropCodeNonConsumable:
         iNonConsumable = aElement.Uint8L(CMTPTypeObjectPropListElement::EValue);       
         break;
-        
+    case EMTPObjectPropCodeHidden:
+        iHiddenStatus = aElement.Uint16L(CMTPTypeObjectPropListElement::EValue);
+        break;    
     default:
         break;
         }
@@ -1133,6 +1142,7 @@
 
     case EMTPObjectPropCodeRepresentativeSampleFormat:
     case EMTPObjectPropCodeProtectionStatus:
+    case EMTPObjectPropCodeHidden:
         if (aElement.Uint16L(CMTPTypeObjectPropListElement::EDatatype) != EMTPTypeUINT16)
             {
             responseCode = EMTPRespCodeInvalidObjectPropFormat;