mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 01:35:46 +08:00
*Added all the permission checks to the sceneexternalchecks and modified permission module to follow this.
*This makes permission checking much more modular; allows restrictive and granting module to be made without modifying the existing permission module
This commit is contained in:
@@ -32,72 +32,6 @@ namespace OpenSim.Region.Environment.Interfaces
|
||||
public interface IScenePermissions
|
||||
{
|
||||
bool BypassPermissions { get; set; }
|
||||
|
||||
#region Object Permissions
|
||||
|
||||
bool CanRezObject(LLUUID user, LLVector3 position, int count);
|
||||
|
||||
/// <summary>
|
||||
/// Permissions check - can user delete an object?
|
||||
/// </summary>
|
||||
/// <param name="user">User attempting the delete</param>
|
||||
/// <param name="obj">Target object</param>
|
||||
/// <returns>Has permission?</returns>
|
||||
bool CanDeRezObject(LLUUID user, LLUUID obj);
|
||||
|
||||
bool CanCopyObject(LLUUID user, LLUUID obj);
|
||||
|
||||
bool CanEditObject(LLUUID user, LLUUID obj);
|
||||
|
||||
bool CanEditObjectPosition(LLUUID user, LLUUID obj);
|
||||
|
||||
/// <summary>
|
||||
/// Permissions check - can user enter an object?
|
||||
/// </summary>
|
||||
/// <param name="user">User attempting move an object</param>
|
||||
/// <param name="oldPos">Source object-position</param>
|
||||
/// <param name="newPos">Target object-position</param>
|
||||
/// <returns>Has permission?</returns>
|
||||
bool CanObjectEntry(LLUUID user, LLVector3 oldPos, LLVector3 newPos);
|
||||
|
||||
bool CanReturnObject(LLUUID user, LLUUID obj);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Uncategorized permissions
|
||||
|
||||
bool CanInstantMessage(LLUUID user, LLUUID target);
|
||||
|
||||
bool CanInventoryTransfer(LLUUID user, LLUUID target);
|
||||
|
||||
bool CanEditScript(LLUUID user, LLUUID script);
|
||||
|
||||
bool CanRunScript(LLUUID user, LLUUID script);
|
||||
|
||||
bool CanRunConsoleCommand(LLUUID user);
|
||||
|
||||
bool CanTerraform(LLUUID user, LLVector3 position);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Estate Permissions
|
||||
|
||||
bool IsEstateManager(LLUUID user);
|
||||
|
||||
bool GenericEstatePermission(LLUUID user);
|
||||
|
||||
bool CanEditEstateTerrain(LLUUID user);
|
||||
|
||||
bool CanRestartSim(LLUUID user);
|
||||
|
||||
bool CanEditParcel(LLUUID user, ILandObject parcel);
|
||||
|
||||
bool CanSellParcel(LLUUID user, ILandObject parcel);
|
||||
|
||||
bool CanAbandonParcel(LLUUID user, ILandObject parcel);
|
||||
|
||||
#endregion
|
||||
|
||||
uint GenerateClientFlags(LLUUID user, LLUUID objID);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user