using System; using OpenSim.Framework; using OpenMetaverse; namespace OpenSim.Services.Interfaces { public interface ISimulationService { #region Agents bool CreateAgent(ulong regionHandle, AgentCircuitData aCircuit, out string reason); /// /// Full child agent update. /// /// /// /// bool UpdateAgent(ulong regionHandle, AgentData data); /// /// Short child agent update, mostly for position. /// /// /// /// bool UpdateAgent(ulong regionHandle, AgentPosition data); bool RetrieveAgent(ulong regionHandle, UUID id, out IAgentData agent); /// /// Message from receiving region to departing region, telling it got contacted by the client. /// When sent over REST, it invokes the opaque uri. /// /// /// /// /// bool ReleaseAgent(ulong regionHandle, UUID id, string uri); /// /// Close agent. /// /// /// /// bool CloseAgent(ulong regionHandle, UUID id); #endregion Agents #region Objects /// /// Create an object in the destination region. This message is used primarily for prim crossing. /// /// /// /// /// bool CreateObject(ulong regionHandle, ISceneObject sog, bool isLocalCall); /// /// Create an object from the user's inventory in the destination region. /// This message is used primarily by clients. /// /// /// /// /// bool CreateObject(ulong regionHandle, UUID userID, UUID itemID); #endregion Objects #region Regions bool HelloNeighbour(ulong regionHandle, RegionInfo thisRegion); #endregion Regions } }