diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Permissions.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs index 754609a..968b298 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | |||
@@ -86,6 +86,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
86 | public delegate bool DelinkObjectHandler(UUID user, UUID objectID); | 86 | public delegate bool DelinkObjectHandler(UUID user, UUID objectID); |
87 | public delegate bool CreateObjectInventoryHandler(int invType, UUID objectID, UUID userID); | 87 | public delegate bool CreateObjectInventoryHandler(int invType, UUID objectID, UUID userID); |
88 | public delegate bool CopyObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); | 88 | public delegate bool CopyObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); |
89 | public delegate bool DoObjectInvToObjectInv(TaskInventoryItem item, SceneObjectPart sourcePart, SceneObjectPart destPart); | ||
89 | public delegate bool DeleteObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); | 90 | public delegate bool DeleteObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); |
90 | public delegate bool TransferObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); | 91 | public delegate bool TransferObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID); |
91 | public delegate bool CreateUserInventoryHandler(int invType, UUID userID); | 92 | public delegate bool CreateUserInventoryHandler(int invType, UUID userID); |
@@ -158,6 +159,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
158 | public event DelinkObjectHandler OnDelinkObject; | 159 | public event DelinkObjectHandler OnDelinkObject; |
159 | public event CreateObjectInventoryHandler OnCreateObjectInventory; | 160 | public event CreateObjectInventoryHandler OnCreateObjectInventory; |
160 | public event CopyObjectInventoryHandler OnCopyObjectInventory; | 161 | public event CopyObjectInventoryHandler OnCopyObjectInventory; |
162 | public event DoObjectInvToObjectInv OnDoObjectInvToObjectInv; | ||
161 | public event DeleteObjectInventoryHandler OnDeleteObjectInventory; | 163 | public event DeleteObjectInventoryHandler OnDeleteObjectInventory; |
162 | public event TransferObjectInventoryHandler OnTransferObjectInventory; | 164 | public event TransferObjectInventoryHandler OnTransferObjectInventory; |
163 | public event CreateUserInventoryHandler OnCreateUserInventory; | 165 | public event CreateUserInventoryHandler OnCreateUserInventory; |
@@ -1090,6 +1092,23 @@ namespace OpenSim.Region.Framework.Scenes | |||
1090 | return true; | 1092 | return true; |
1091 | } | 1093 | } |
1092 | 1094 | ||
1095 | public bool CanDoObjectInvToObjectInv(TaskInventoryItem item, SceneObjectPart sourcePart, SceneObjectPart destPart) | ||
1096 | { | ||
1097 | DoObjectInvToObjectInv handler = OnDoObjectInvToObjectInv; | ||
1098 | if (handler != null) | ||
1099 | { | ||
1100 | if (sourcePart == null || destPart == null || item == null) | ||
1101 | return false; | ||
1102 | Delegate[] list = handler.GetInvocationList(); | ||
1103 | foreach (DoObjectInvToObjectInv h in list) | ||
1104 | { | ||
1105 | if (h(item, sourcePart, destPart) == false) | ||
1106 | return false; | ||
1107 | } | ||
1108 | } | ||
1109 | return true; | ||
1110 | } | ||
1111 | |||
1093 | public bool CanDeleteObjectInventory(UUID itemID, UUID objectID, UUID userID) | 1112 | public bool CanDeleteObjectInventory(UUID itemID, UUID objectID, UUID userID) |
1094 | { | 1113 | { |
1095 | DeleteObjectInventoryHandler handler = OnDeleteObjectInventory; | 1114 | DeleteObjectInventoryHandler handler = OnDeleteObjectInventory; |