diff options
author | Diva Canto | 2012-03-22 12:57:12 -0700 |
---|---|---|
committer | Diva Canto | 2012-03-22 12:57:12 -0700 |
commit | 6146e7ef258b10888ad7464b72b75cca701e02c9 (patch) | |
tree | 6603496c5758359b808f8719a641977660aca0fb /OpenSim/Region/Framework/Scenes | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC_OLD-6146e7ef258b10888ad7464b72b75cca701e02c9.zip opensim-SC_OLD-6146e7ef258b10888ad7464b72b75cca701e02c9.tar.gz opensim-SC_OLD-6146e7ef258b10888ad7464b72b75cca701e02c9.tar.bz2 opensim-SC_OLD-6146e7ef258b10888ad7464b72b75cca701e02c9.tar.xz |
Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs index e1fedf4..a4605c4 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | |||
@@ -90,6 +90,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
90 | public delegate bool TeleportHandler(UUID userID, Scene scene); | 90 | public delegate bool TeleportHandler(UUID userID, Scene scene); |
91 | public delegate bool ControlPrimMediaHandler(UUID userID, UUID primID, int face); | 91 | public delegate bool ControlPrimMediaHandler(UUID userID, UUID primID, int face); |
92 | public delegate bool InteractWithPrimMediaHandler(UUID userID, UUID primID, int face); | 92 | public delegate bool InteractWithPrimMediaHandler(UUID userID, UUID primID, int face); |
93 | public delegate void SendLandPropertiesHandler(UUID userID, ILandObject realLand, out ILandObject landToSend); | ||
93 | #endregion | 94 | #endregion |
94 | 95 | ||
95 | public class ScenePermissions | 96 | public class ScenePermissions |
@@ -157,6 +158,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
157 | public event TeleportHandler OnTeleport; | 158 | public event TeleportHandler OnTeleport; |
158 | public event ControlPrimMediaHandler OnControlPrimMedia; | 159 | public event ControlPrimMediaHandler OnControlPrimMedia; |
159 | public event InteractWithPrimMediaHandler OnInteractWithPrimMedia; | 160 | public event InteractWithPrimMediaHandler OnInteractWithPrimMedia; |
161 | public event SendLandPropertiesHandler OnSendLandProperties; | ||
160 | #endregion | 162 | #endregion |
161 | 163 | ||
162 | #region Object Permission Checks | 164 | #region Object Permission Checks |
@@ -1098,5 +1100,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
1098 | } | 1100 | } |
1099 | return true; | 1101 | return true; |
1100 | } | 1102 | } |
1103 | |||
1104 | public void LandObjectForClient(UUID userID, ILandObject realLand, out ILandObject landToSend) | ||
1105 | { | ||
1106 | landToSend = realLand; | ||
1107 | SendLandPropertiesHandler handler = OnSendLandProperties; | ||
1108 | if (handler != null) | ||
1109 | { | ||
1110 | Delegate[] list = handler.GetInvocationList(); | ||
1111 | foreach (SendLandPropertiesHandler h in list) | ||
1112 | { | ||
1113 | h(userID, realLand, out landToSend); | ||
1114 | } | ||
1115 | } | ||
1116 | } | ||
1117 | |||
1101 | } | 1118 | } |
1102 | } | 1119 | } |