From 175b6115f19f9bad7c81fde625250b3a7f8a33f2 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Mon, 26 Nov 2007 05:02:18 +0000 Subject: * Restarting regions with the estate tools works in sandbox mode. I'm still working on grid mode, however. It doesn't break anything, but that feature doesn't work in grid mode yet either. --- .../Framework/Communications/IInterRegionCommunications.cs | 1 + OpenSim/Framework/IRegionCommsListener.cs | 4 ++++ OpenSim/Framework/IScene.cs | 5 ++--- OpenSim/Framework/RegionCommsListener.cs | 12 ++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs index 94e4cf7..c64abb5 100644 --- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs +++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs @@ -33,6 +33,7 @@ namespace OpenSim.Framework.Communications { bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData); + bool RegionUp(RegionInfo region); bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isFlying); diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs index c9fc525..53d0059 100644 --- a/OpenSim/Framework/IRegionCommsListener.cs +++ b/OpenSim/Framework/IRegionCommsListener.cs @@ -46,6 +46,8 @@ namespace OpenSim.Framework public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID); + public delegate bool RegionUp(RegionInfo region); + public interface IRegionCommsListener @@ -59,5 +61,7 @@ namespace OpenSim.Framework event AcknowledgePrimCross OnAcknowledgePrimCrossed; event UpdateNeighbours OnNeighboursUpdate; event CloseAgentConnection OnCloseAgentConnection; + event RegionUp OnRegionUp; + } } \ No newline at end of file diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs index 0e4d260..5507500 100644 --- a/OpenSim/Framework/IScene.cs +++ b/OpenSim/Framework/IScene.cs @@ -30,7 +30,7 @@ using libsecondlife; namespace OpenSim.Framework { public delegate void restart( RegionInfo thisRegion ); - public delegate void regionup ( RegionInfo thisRegion ); + //public delegate void regionup ( RegionInfo thisRegion ); public enum RegionStatus : int { @@ -43,13 +43,12 @@ namespace OpenSim.Framework public interface IScene { event restart OnRestart; - event regionup OnRegionUp; void AddNewClient(IClientAPI client, bool child); void RemoveClient(LLUUID agentID); void Restart(int seconds); - void OtherRegionUp(RegionInfo thisRegion); + bool OtherRegionUp(RegionInfo thisRegion); RegionInfo RegionInfo { get; } uint NextLocalId { get; } diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs index 5dc9b81..449c073 100644 --- a/OpenSim/Framework/RegionCommsListener.cs +++ b/OpenSim/Framework/RegionCommsListener.cs @@ -42,6 +42,8 @@ namespace OpenSim.Framework public event AcknowledgeAgentCross OnAcknowledgeAgentCrossed; public event AcknowledgePrimCross OnAcknowledgePrimCrossed; public event CloseAgentConnection OnCloseAgentConnection; + public event RegionUp OnRegionUp; + /// /// @@ -68,6 +70,16 @@ namespace OpenSim.Framework return false; } + public virtual bool TriggerRegionUp(RegionInfo region) + { + if (OnRegionUp != null) + { + OnRegionUp(region); + return true; + } + return false; + } + public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) { -- cgit v1.1