diff options
author | Oren Hurvitz | 2013-11-05 15:42:23 +0200 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-01-10 19:50:03 +0000 |
commit | 91fd9c467083a57e2898594ce3ae764aa0525bb5 (patch) | |
tree | 32078bfcfec717530d29f18d8b2afb6b41cfbab3 /OpenSim/Framework/PermissionsUtil.cs | |
parent | Refactored setting permissions when rezzing items: use the same function when... (diff) | |
download | opensim-SC_OLD-91fd9c467083a57e2898594ce3ae764aa0525bb5.zip opensim-SC_OLD-91fd9c467083a57e2898594ce3ae764aa0525bb5.tar.gz opensim-SC_OLD-91fd9c467083a57e2898594ce3ae764aa0525bb5.tar.bz2 opensim-SC_OLD-91fd9c467083a57e2898594ce3ae764aa0525bb5.tar.xz |
Refactored: use a single function to apply an object's folded permissions to its main permissions
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/PermissionsUtil.cs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/OpenSim/Framework/PermissionsUtil.cs b/OpenSim/Framework/PermissionsUtil.cs index 3dce04d..d785a78 100644 --- a/OpenSim/Framework/PermissionsUtil.cs +++ b/OpenSim/Framework/PermissionsUtil.cs | |||
@@ -64,5 +64,24 @@ namespace OpenSim.Framework | |||
64 | str = "."; | 64 | str = "."; |
65 | return str; | 65 | return str; |
66 | } | 66 | } |
67 | |||
68 | /// <summary> | ||
69 | /// Applies an object's folded permissions to its regular permissions. | ||
70 | /// </summary> | ||
71 | /// <param name="foldedPerms">The folded permissions. Only the lowest 7 bits are examined.</param> | ||
72 | /// <param name="mainPerms">The permissions variable to modify.</param> | ||
73 | public static void ApplyFoldedPermissions(uint foldedPerms, ref uint mainPerms) | ||
74 | { | ||
75 | if ((foldedPerms & 7) == 0) | ||
76 | return; // assume that if the folded permissions are 0 then this means that they weren't actually recorded | ||
77 | |||
78 | if ((foldedPerms & ((uint)PermissionMask.Copy >> 13)) == 0) | ||
79 | mainPerms &= ~(uint)PermissionMask.Copy; | ||
80 | if ((foldedPerms & ((uint)PermissionMask.Transfer >> 13)) == 0) | ||
81 | mainPerms &= ~(uint)PermissionMask.Transfer; | ||
82 | if ((foldedPerms & ((uint)PermissionMask.Modify >> 13)) == 0) | ||
83 | mainPerms &= ~(uint)PermissionMask.Modify; | ||
84 | } | ||
85 | |||
67 | } | 86 | } |
68 | } | 87 | } |