mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectproplist.cpp
branchRCL_3
changeset 67 16db3449d7ba
parent 53 e42293e811d8
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectproplist.cpp	Wed Sep 15 12:45:22 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectproplist.cpp	Wed Oct 13 15:06:09 2010 +0300
@@ -188,105 +188,103 @@
         if ( protectionStatus != EMTPProtectionNoProtection )
             {
             // NOTE: P4S expects AccessDenied response instead of ObjectWriteProtected
-            responseCode = EMTPRespCodeAccessDenied; // EMTPRespCodeObjectWriteProtected;
+            return EMTPRespCodeAccessDenied; // EMTPRespCodeObjectWriteProtected;
             }
-        else
+
+        switch ( propertyCode )
             {
-            switch ( propertyCode )
+            case EMTPObjectPropCodeStorageID:
+            case EMTPObjectPropCodeObjectFormat:
+            case EMTPObjectPropCodeProtectionStatus:
+            case EMTPObjectPropCodeObjectSize:
+            case EMTPObjectPropCodeParentObject:
+            case EMTPObjectPropCodePersistentUniqueObjectIdentifier:
+            case EMTPObjectPropCodeDateAdded:
+            case EMTPObjectPropCodeDateCreated:
+            case EMTPObjectPropCodeDateModified:
                 {
-                case EMTPObjectPropCodeStorageID:
-                case EMTPObjectPropCodeObjectFormat:
-                case EMTPObjectPropCodeProtectionStatus:
-                case EMTPObjectPropCodeObjectSize:
-                case EMTPObjectPropCodeParentObject:
-                case EMTPObjectPropCodePersistentUniqueObjectIdentifier:
-                case EMTPObjectPropCodeDateAdded:
-                case EMTPObjectPropCodeDateCreated:
-                case EMTPObjectPropCodeDateModified:
+                responseCode = EMTPRespCodeAccessDenied;
+                }
+                break;
+
+            case EMTPObjectPropCodeNonConsumable:
+                object->SetUint( CMTPObjectMetaData::ENonConsumable,
+                    aPropListElement.Uint8L( CMTPTypeObjectPropListElement::EValue ) );
+                // TODO: need to reconsider,
+                // if propList comprise both non-consumable and objectFileName,
+                // ModifyObjectL would be called twice, need to investigate if it won't affect
+                // performance
+                iFramework.ObjectMgr().ModifyObjectL( *object );
+                break;
+
+            case EMTPObjectPropCodeObjectFileName:
+                {
+                TPtrC suid( object->DesC( CMTPObjectMetaData::ESuid ) );
+                TPtrC ptr( aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );
+                if ( KMaxFileName < ptr.Length() )
+                    responseCode = EMTPRespCodeInvalidDataset;
+                else
                     {
-                    responseCode = EMTPRespCodeAccessDenied;
-                    }
-                    break;
+                    TFileName newSuid( ptr );
+                    TInt err = MmMtpDpUtility::UpdateObjectFileName( iFramework.Fs(), suid, newSuid );
+                    PRINT1( _L( "MM MTP <> Update object file name err = %d" ), err );
+                    if ( KErrOverflow == err ) // full path name is too long
+                        {
+                        responseCode = EMTPRespCodeInvalidDataset;
+                        }
+                    else if ( KErrNone == err )    // TODO: ( KErrAlreadyExists == err )
+                        {
+                        TRAP( err, iDpConfig.GetWrapperL().RenameObjectL( *object, newSuid ) ); //Update MPX DB
 
-                case EMTPObjectPropCodeNonConsumable:
-                    object->SetUint( CMTPObjectMetaData::ENonConsumable,
-                        aPropListElement.Uint8L( CMTPTypeObjectPropListElement::EValue ) );
-                    // TODO: need to reconsider,
-                    // if propList comprise both non-consumable and objectFileName,
-                    // ModifyObjectL would be called twice, need to investigate if it won't affect
-                    // performance
-                    iFramework.ObjectMgr().ModifyObjectL( *object );
-                    break;
+                        PRINT1( _L( "MM MTP <> Rename MPX object file name err = %d" ), err );
+                        // it is ok if file is not found in DB, following S60 solution
+                        if ( KErrNotFound == err )
+                            {
+                            TRAP( err, iDpConfig.GetWrapperL().AddObjectL( *object ) );
+                            PRINT1( _L( "MM MTP <> Add MPX object file name err = %d" ), err );
+                            }
 
-                case EMTPObjectPropCodeObjectFileName:
-                    {
-                    TPtrC suid( object->DesC( CMTPObjectMetaData::ESuid ) );
-                    TPtrC ptr( aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );
-                    if ( KMaxFileName < ptr.Length() )
-                        responseCode = EMTPRespCodeInvalidDataset;
+                        object->SetDesCL( CMTPObjectMetaData::ESuid, newSuid );
+                        iFramework.ObjectMgr().ModifyObjectL( *object );
+                        }
+                    else if ( KErrInUse == err ) // object file is being used by other program
+                        {
+                        responseCode = EMTPRespCodeDeviceBusy;
+                        }
                     else
                         {
-                        TFileName newSuid( ptr );
-                        TInt err = MmMtpDpUtility::UpdateObjectFileName( iFramework.Fs(), suid, newSuid );
-                        PRINT1( _L( "MM MTP <> Update object file name err = %d" ), err );
-                        if ( KErrOverflow == err ) // full path name is too long
-                            {
-                            responseCode = EMTPRespCodeInvalidDataset;
-                            }
-                        else if ( KErrNone == err )    // TODO: ( KErrAlreadyExists == err )
-                            {
-                            TRAP( err, iDpConfig.GetWrapperL().RenameObjectL( *object, newSuid ) ); //Update MPX DB
-    
-                            PRINT1( _L( "MM MTP <> Rename MPX object file name err = %d" ), err );
-                            // it is ok if file is not found in DB, following S60 solution
-                            if ( KErrNotFound == err )
-                                {
-                                TRAP( err, iDpConfig.GetWrapperL().AddObjectL( *object ) );
-                                PRINT1( _L( "MM MTP <> Add MPX object file name err = %d" ), err );
-                                }
-
-                            object->SetDesCL( CMTPObjectMetaData::ESuid, newSuid );
-                            iFramework.ObjectMgr().ModifyObjectL( *object );
-                            }
-                        else if ( KErrInUse == err ) // object file is being used by other program
-                            {
-                            responseCode = EMTPRespCodeDeviceBusy;
-                            }
-                        else
-                            {
-                            responseCode = EMTPRespCodeGeneralError;
-                            }
+                        responseCode = EMTPRespCodeGeneralError;
                         }
                     }
-                    break;
+                }
+                break;
 
-                case EMTPObjectPropCodeName:
-                case EMTPObjectPropCodeAlbumArtist:
-                    {
-                    CMTPTypeString* stringData = CMTPTypeString::NewLC(
-                        aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );// + stringData
+            case EMTPObjectPropCodeName:
+            case EMTPObjectPropCodeAlbumArtist:
+                {
+                CMTPTypeString* stringData = CMTPTypeString::NewLC(
+                    aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );// + stringData
 
-                    responseCode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
-                        propertyCode,
-                        *stringData,
-                        *object );
+                responseCode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
+                    propertyCode,
+                    *stringData,
+                    *object );
 
-                    CleanupStack::PopAndDestroy( stringData );// - stringData
-                    }
-                    break;
+                CleanupStack::PopAndDestroy( stringData );// - stringData
+                }
+                break;
 
-                default:
-                    {
-                    responseCode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
-                        propertyCode,
-                        *object,
-                        aPropListElement );
-                    }
-                    break;
+            default:
+                {
+                responseCode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
+                    propertyCode,
+                    *object,
+                    aPropListElement );
                 }
+                break;
+            }
 
-            CleanupStack::PopAndDestroy( object ); // - object
-            }
+        CleanupStack::PopAndDestroy( object ); // - object
         }
 
     PRINT1( _L( "MM MTP <= CSetObjectPropList::SetObjectPropListL responseCode = 0x%x" ), responseCode );