From cce31b66386270e70e833ffe4fcc2906176e31ad Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 14:00:33 +0100 Subject: add centerlized AnimationSet item permitions setting --- OpenSim/Framework/AnimationSet.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index c5ab634..fefe093 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -33,10 +33,29 @@ namespace OpenSim.Framework { public delegate bool AnimationSetValidator(UUID animID); + public class AnimationSet { private readonly int m_maxAnimations = 255; + public const uint allowedPermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); + + public uint enforcePermitions(uint currentPerm) + { + return currentPerm & allowedPermitions; + } + + public void enforceItemPermitions(ref InventoryItemBase it) + { + if (it == null) + return; + it.CurrentPermissions &= allowedPermitions; + it.NextPermissions &= allowedPermitions; + it.EveryOnePermissions &= allowedPermitions; + it.GroupPermissions &= allowedPermitions; + it.BasePermissions &= allowedPermitions; + } + public int AnimationCount { get; private set; } private Dictionary m_animations = new Dictionary(); -- cgit v1.1 From 3e2242b4c43171f4576249d48fbb8667c8d1f169 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 14:06:16 +0100 Subject: change animset permitions to reflect no transfer nature --- OpenSim/Framework/AnimationSet.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index fefe093..3f6987a 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -49,11 +49,15 @@ namespace OpenSim.Framework { if (it == null) return; - it.CurrentPermissions &= allowedPermitions; - it.NextPermissions &= allowedPermitions; - it.EveryOnePermissions &= allowedPermitions; - it.GroupPermissions &= allowedPermitions; + it.BasePermissions &= allowedPermitions; + it.CurrentPermissions &= allowedPermitions; +// it.GroupPermissions &= allowedPermitions; +// it.NextPermissions &= allowedPermitions; +// it.EveryOnePermissions &= allowedPermitions; + it.GroupPermissions = 0; + it.NextPermissions = 0; + it.EveryOnePermissions = 0; } public int AnimationCount { get; private set; } -- cgit v1.1 From fcad64209c29c55cbec78ae94f221120e9956ebf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 14:17:01 +0100 Subject: make c# more happy --- OpenSim/Framework/AnimationSet.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index 3f6987a..f91838e 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -40,12 +40,12 @@ namespace OpenSim.Framework public const uint allowedPermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); - public uint enforcePermitions(uint currentPerm) + public static uint enforcePermition(uint currentPerm) { return currentPerm & allowedPermitions; } - public void enforceItemPermitions(ref InventoryItemBase it) + public static void enforceItemPermitions(ref InventoryItemBase it) { if (it == null) return; -- cgit v1.1 From 90cad824050ffbd081baf5338638e2e6d95903f2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 14:22:54 +0100 Subject: remove unnecessary argument ref --- OpenSim/Framework/AnimationSet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index f91838e..7e6aa17 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -45,7 +45,7 @@ namespace OpenSim.Framework return currentPerm & allowedPermitions; } - public static void enforceItemPermitions(ref InventoryItemBase it) + public static void enforceItemPermitions(InventoryItemBase it) { if (it == null) return; -- cgit v1.1 From 46caea6987a24e07f61e3c3bef24ab4495899bda Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 15:03:33 +0100 Subject: change it again... --- OpenSim/Framework/AnimationSet.cs | 47 ++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 11 deletions(-) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index 7e6aa17..1743376 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -33,30 +33,55 @@ namespace OpenSim.Framework { public delegate bool AnimationSetValidator(UUID animID); - public class AnimationSet { private readonly int m_maxAnimations = 255; - public const uint allowedPermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); + public const uint createBasePermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); + public const uint createNextPermitions = (uint)PermissionMask.Modify; + + public const uint allowedBasePermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); + public const uint allowedNextPermitions = (uint)PermissionMask.Modify; - public static uint enforcePermition(uint currentPerm) + public static void setCreateItemPermitions(InventoryItemBase it) { - return currentPerm & allowedPermitions; + if (it == null) + return; + + it.BasePermissions = createBasePermitions; + it.CurrentPermissions = createBasePermitions; + // it.GroupPermissions &= allowedPermitions; + it.NextPermissions = createNextPermitions; + // it.EveryOnePermissions &= allowedPermitions; + it.GroupPermissions = 0; + it.EveryOnePermissions = 0; } - public static void enforceItemPermitions(InventoryItemBase it) + public static void enforceItemPermitions(InventoryItemBase it, bool IsCreator) { if (it == null) return; - it.BasePermissions &= allowedPermitions; - it.CurrentPermissions &= allowedPermitions; -// it.GroupPermissions &= allowedPermitions; -// it.NextPermissions &= allowedPermitions; -// it.EveryOnePermissions &= allowedPermitions; + uint bp; + uint np; + + if (IsCreator) + { + bp = createBasePermitions; + np = createNextPermitions; + } + else + { + bp = allowedBasePermitions; + np = allowedNextPermitions; + } + + it.BasePermissions &= bp; + it.CurrentPermissions &= bp; + // it.GroupPermissions &= allowedPermitions; + it.NextPermissions &= np; + // it.EveryOnePermissions &= allowedPermitions; it.GroupPermissions = 0; - it.NextPermissions = 0; it.EveryOnePermissions = 0; } -- cgit v1.1 From bb019945e8dfb14fcbf4db62561e488bebda7ccb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 26 Sep 2014 15:20:45 +0100 Subject: change permitions again --- OpenSim/Framework/AnimationSet.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OpenSim/Framework/AnimationSet.cs') diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index 1743376..56e1068 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -37,11 +37,11 @@ namespace OpenSim.Framework { private readonly int m_maxAnimations = 255; - public const uint createBasePermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); - public const uint createNextPermitions = (uint)PermissionMask.Modify; + public const uint createBasePermitions = (uint)(PermissionMask.All); // no export ? + public const uint createNextPermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); public const uint allowedBasePermitions = (uint)(PermissionMask.Copy | PermissionMask.Modify); - public const uint allowedNextPermitions = (uint)PermissionMask.Modify; + public const uint allowedNextPermitions = 0; public static void setCreateItemPermitions(InventoryItemBase it) { -- cgit v1.1