986 StoreRepositorySettingValuesL(aStore, aSettingStreamId); |
986 StoreRepositorySettingValuesL(aStore, aSettingStreamId); |
987 CleanupStack::PopAndDestroy(iRepository); |
987 CleanupStack::PopAndDestroy(iRepository); |
988 iRepository = NULL; |
988 iRepository = NULL; |
989 } |
989 } |
990 |
990 |
991 TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting& aSourceSetting, |
991 TInt CServerRepository::CheckAccessPolicyBeforeMoving(const TClientRequest& aMessage, const TServerSetting* aSourceSetting, |
992 TUint32 aSourceKey, const TServerSetting& aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey) |
992 TUint32 aSourceKey, const TServerSetting* aTargetSetting, TUint32 aTargetKey, TUint32& aErrorKey) |
993 { |
993 { |
994 TInt error = KErrNone; |
994 TInt error = KErrNone; |
995 |
995 |
996 if (&aTargetSetting && !aTargetSetting.IsDeleted()) |
996 if (aTargetSetting && !aTargetSetting->IsDeleted()) |
997 { |
997 { |
998 error=KErrAlreadyExists; |
998 error=KErrAlreadyExists; |
999 aErrorKey=aTargetKey; |
999 aErrorKey=aTargetKey; |
1000 } |
1000 } |
1001 |
1001 |
1002 if (!aMessage.CheckPolicy(GetReadAccessPolicy(aSourceSetting), |
1002 if (!aMessage.CheckPolicy(GetReadAccessPolicy(*aSourceSetting), |
1003 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to read a setting"))) |
1003 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to read a setting"))) |
1004 { |
1004 { |
1005 error = KErrPermissionDenied; |
1005 error = KErrPermissionDenied; |
1006 aErrorKey = aSourceKey; |
1006 aErrorKey = aSourceKey; |
1007 } |
1007 } |
1008 else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aSourceSetting), |
1008 else if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aSourceSetting), |
1009 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to delete a setting"))) |
1009 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to delete a setting"))) |
1010 { |
1010 { |
1011 error = KErrPermissionDenied; |
1011 error = KErrPermissionDenied; |
1012 aErrorKey = aSourceKey; |
1012 aErrorKey = aSourceKey; |
1013 } |
1013 } |
1014 else if (error == KErrAlreadyExists) |
1014 else if (error == KErrAlreadyExists) |
1015 { |
1015 { |
1016 // set error to KErrPermissionDenied in preference to KErrAlreadyExists |
1016 // set error to KErrPermissionDenied in preference to KErrAlreadyExists |
1017 if (!aMessage.CheckPolicy(GetWriteAccessPolicy(aTargetSetting), |
1017 if (!aMessage.CheckPolicy(GetWriteAccessPolicy(*aTargetSetting), |
1018 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to create a setting"))) |
1018 __PLATSEC_DIAGNOSTIC_STRING("CenRep: CServerRepository::MoveL - Attempt made to create a setting"))) |
1019 { |
1019 { |
1020 error = KErrPermissionDenied; |
1020 error = KErrPermissionDenied; |
1021 aErrorKey = aTargetKey; |
1021 aErrorKey = aTargetKey; |
1022 } |
1022 } |