diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs | 143 |
1 files changed, 141 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs b/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs index 0e018e8..cc627b0 100644 --- a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs +++ b/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs | |||
@@ -1089,8 +1089,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1089 | 1089 | ||
1090 | /// <summary> | 1090 | /// <summary> |
1091 | /// Check whether the specified user is allowed to directly create the given inventory type in a prim's | 1091 | /// Check whether the specified user is allowed to directly create the given inventory type in a prim's |
1092 | /// inventory (e.g. the New Script button in the 1.21 Linden Lab client). This permission check does not | 1092 | /// inventory (e.g. the New Script button in the 1.21 Linden Lab client). |
1093 | /// apply to existing items that are being dragged in to that prim's inventory. | ||
1094 | /// </summary> | 1093 | /// </summary> |
1095 | /// <param name="invType"></param> | 1094 | /// <param name="invType"></param> |
1096 | /// <param name="objectID"></param> | 1095 | /// <param name="objectID"></param> |
@@ -1164,7 +1163,147 @@ namespace OpenSim.Region.Environment.Scenes | |||
1164 | 1163 | ||
1165 | return true; | 1164 | return true; |
1166 | } | 1165 | } |
1166 | |||
1167 | public delegate bool CanCreateAvatarInventory(int invType, UUID userID); | ||
1168 | private List<CanCreateAvatarInventory> CanCreateAvatarInventoryCheckFunctions | ||
1169 | = new List<CanCreateAvatarInventory>(); | ||
1170 | |||
1171 | public void addCheckCanCreateAvatarInventory(CanCreateAvatarInventory delegateFunc) | ||
1172 | { | ||
1173 | if (!CanCreateAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1174 | CanCreateAvatarInventoryCheckFunctions.Add(delegateFunc); | ||
1175 | } | ||
1176 | |||
1177 | public void removeCheckCanCreateAvatarInventory(CanCreateAvatarInventory delegateFunc) | ||
1178 | { | ||
1179 | if (CanCreateAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1180 | CanCreateAvatarInventoryCheckFunctions.Remove(delegateFunc); | ||
1181 | } | ||
1182 | |||
1183 | /// <summary> | ||
1184 | /// Check whether the specified user is allowed to create the given inventory type in their inventory. | ||
1185 | /// </summary> | ||
1186 | /// <param name="invType"></param> | ||
1187 | /// <param name="userID"></param> | ||
1188 | /// <returns></returns> | ||
1189 | public bool ExternalChecksCanCreateAvatarInventory(int invType, UUID userID) | ||
1190 | { | ||
1191 | foreach (CanCreateAvatarInventory check in CanCreateAvatarInventoryCheckFunctions) | ||
1192 | { | ||
1193 | if (check(invType, userID) == false) | ||
1194 | { | ||
1195 | return false; | ||
1196 | } | ||
1197 | } | ||
1198 | |||
1199 | return true; | ||
1200 | } | ||
1201 | |||
1202 | public delegate bool CanEditAvatarInventory(UUID itemID, UUID userID); | ||
1203 | private List<CanEditAvatarInventory> CanEditAvatarInventoryCheckFunctions | ||
1204 | = new List<CanEditAvatarInventory>(); | ||
1205 | |||
1206 | public void addCheckCanEditAvatarInventory(CanEditAvatarInventory delegateFunc) | ||
1207 | { | ||
1208 | if (!CanEditAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1209 | CanEditAvatarInventoryCheckFunctions.Add(delegateFunc); | ||
1210 | } | ||
1167 | 1211 | ||
1212 | public void removeCheckCanEditAvatarInventory(CanEditAvatarInventory delegateFunc) | ||
1213 | { | ||
1214 | if (CanEditAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1215 | CanEditAvatarInventoryCheckFunctions.Remove(delegateFunc); | ||
1216 | } | ||
1217 | |||
1218 | /// <summary> | ||
1219 | /// Check whether the specified user is allowed to edit the given inventory item within their own inventory. | ||
1220 | /// </summary> | ||
1221 | /// <param name="itemID"></param> | ||
1222 | /// <param name="userID"></param> | ||
1223 | /// <returns></returns> | ||
1224 | public bool ExternalChecksCanEditAvatarInventory(UUID itemID, UUID userID) | ||
1225 | { | ||
1226 | foreach (CanEditAvatarInventory check in CanEditAvatarInventoryCheckFunctions) | ||
1227 | { | ||
1228 | if (check(itemID, userID) == false) | ||
1229 | { | ||
1230 | return false; | ||
1231 | } | ||
1232 | } | ||
1233 | |||
1234 | return true; | ||
1235 | } | ||
1236 | |||
1237 | public delegate bool CanCopyAvatarInventory(UUID itemID, UUID userID); | ||
1238 | private List<CanCopyAvatarInventory> CanCopyAvatarInventoryCheckFunctions | ||
1239 | = new List<CanCopyAvatarInventory>(); | ||
1240 | |||
1241 | public void addCheckCanCopyAvatarInventory(CanCopyAvatarInventory delegateFunc) | ||
1242 | { | ||
1243 | if (!CanCopyAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1244 | CanCopyAvatarInventoryCheckFunctions.Add(delegateFunc); | ||
1245 | } | ||
1246 | |||
1247 | public void removeCheckCanCopyAvatarInventory(CanCopyAvatarInventory delegateFunc) | ||
1248 | { | ||
1249 | if (CanCopyAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1250 | CanCopyAvatarInventoryCheckFunctions.Remove(delegateFunc); | ||
1251 | } | ||
1252 | |||
1253 | /// <summary> | ||
1254 | /// Check whether the specified user is allowed to copy the given inventory item from their own inventory. | ||
1255 | /// </summary> | ||
1256 | /// <param name="itemID"></param> | ||
1257 | /// <param name="userID"></param> | ||
1258 | /// <returns></returns> | ||
1259 | public bool ExternalChecksCanCopyAvatarInventory(UUID itemID, UUID userID) | ||
1260 | { | ||
1261 | foreach (CanCopyAvatarInventory check in CanCopyAvatarInventoryCheckFunctions) | ||
1262 | { | ||
1263 | if (check(itemID, userID) == false) | ||
1264 | { | ||
1265 | return false; | ||
1266 | } | ||
1267 | } | ||
1268 | |||
1269 | return true; | ||
1270 | } | ||
1271 | |||
1272 | public delegate bool CanDeleteAvatarInventory(UUID itemID, UUID userID); | ||
1273 | private List<CanDeleteAvatarInventory> CanDeleteAvatarInventoryCheckFunctions | ||
1274 | = new List<CanDeleteAvatarInventory>(); | ||
1275 | |||
1276 | public void addCheckCanDeleteAvatarInventory(CanDeleteAvatarInventory delegateFunc) | ||
1277 | { | ||
1278 | if (!CanDeleteAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1279 | CanDeleteAvatarInventoryCheckFunctions.Add(delegateFunc); | ||
1280 | } | ||
1281 | |||
1282 | public void removeCheckCanDeleteAvatarInventory(CanDeleteAvatarInventory delegateFunc) | ||
1283 | { | ||
1284 | if (CanDeleteAvatarInventoryCheckFunctions.Contains(delegateFunc)) | ||
1285 | CanDeleteAvatarInventoryCheckFunctions.Remove(delegateFunc); | ||
1286 | } | ||
1287 | |||
1288 | /// <summary> | ||
1289 | /// Check whether the specified user is allowed to edit the given inventory item within their own inventory. | ||
1290 | /// </summary> | ||
1291 | /// <param name="itemID"></param> | ||
1292 | /// <param name="userID"></param> | ||
1293 | /// <returns></returns> | ||
1294 | public bool ExternalChecksCanDeleteAvatarInventory(UUID itemID, UUID userID) | ||
1295 | { | ||
1296 | foreach (CanDeleteAvatarInventory check in CanDeleteAvatarInventoryCheckFunctions) | ||
1297 | { | ||
1298 | if (check(itemID, userID) == false) | ||
1299 | { | ||
1300 | return false; | ||
1301 | } | ||
1302 | } | ||
1303 | |||
1304 | return true; | ||
1305 | } | ||
1306 | |||
1168 | public delegate bool CanTeleport(UUID userID); | 1307 | public delegate bool CanTeleport(UUID userID); |
1169 | private List<CanTeleport> CanTeleportCheckFunctions = new List<CanTeleport>(); | 1308 | private List<CanTeleport> CanTeleportCheckFunctions = new List<CanTeleport>(); |
1170 | 1309 | ||