equal
deleted
inserted
replaced
607 case EValue: |
607 case EValue: |
608 if(EMTPTypeUINT16 != iDataType) |
608 if(EMTPTypeUINT16 != iDataType) |
609 { |
609 { |
610 User::Leave(KErrArgument); |
610 User::Leave(KErrArgument); |
611 } |
611 } |
612 TUint16 retValue; |
612 |
613 GetValueL(&retValue, sizeof(TUint16)); |
613 //Workaround for partial deletion issue observed on Windows XP/Windows7. |
614 return retValue; |
614 //When send an object from PC to device through Windows explorer, it will |
|
615 //include the 'ProtectionStatus' property in the dataset of 'SendObjectPropList' |
|
616 //command. While syncing through Ovi player or Windows Media Player, this property |
|
617 //will not be included. |
|
618 //When we delete a folder which contains read-only objects,we returns partial |
|
619 //deletion code, because read-only object should not be deleted according to MTP spec. |
|
620 //On receiving this,Windows popup a dialog saying 'device stops response', this really |
|
621 //give user bad experience, to prevent this, we make this workaround here: when dataprovider |
|
622 //query value of 'ProtectionStatus' property,always return EMTPProtectionNoProtection(0x0000). |
|
623 if (EMTPObjectPropCodeProtectionStatus == iPropertyCode) |
|
624 { |
|
625 return EMTPProtectionNoProtection; |
|
626 } |
|
627 else |
|
628 { |
|
629 TUint16 retValue; |
|
630 GetValueL(&retValue, sizeof(TUint16)); |
|
631 return retValue; |
|
632 } |
615 default: |
633 default: |
616 User::Leave(KErrArgument); |
634 User::Leave(KErrArgument); |
617 } |
635 } |
618 return 0; |
636 return 0; |
619 } |
637 } |