aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Communications/IInterRegionCommunications.cs7
-rw-r--r--OpenSim/Framework/IRegionCommsListener.cs11
-rw-r--r--OpenSim/Framework/RegionCommsListener.cs31
3 files changed, 49 insertions, 0 deletions
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
index e5ed136..94e4cf7 100644
--- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs
+++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
@@ -32,8 +32,15 @@ namespace OpenSim.Framework.Communications
32 public interface IInterRegionCommunications 32 public interface IInterRegionCommunications
33 { 33 {
34 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); 34 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
35 bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData);
36
35 bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); 37 bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying);
38 bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isFlying);
39
36 bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId); 40 bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId);
41 bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID);
42
37 void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID); 43 void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID);
44
38 } 45 }
39} \ No newline at end of file 46} \ No newline at end of file
diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs
index 24c6499..c9fc525 100644
--- a/OpenSim/Framework/IRegionCommsListener.cs
+++ b/OpenSim/Framework/IRegionCommsListener.cs
@@ -32,20 +32,31 @@ namespace OpenSim.Framework
32{ 32{
33 public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); 33 public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent);
34 34
35 public delegate void ExpectPrimDelegate(ulong regionHandle, LLUUID primID, string objData);
36
35 public delegate void UpdateNeighbours(List<RegionInfo> neighbours); 37 public delegate void UpdateNeighbours(List<RegionInfo> neighbours);
36 38
37 public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); 39 public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying);
38 40
41 public delegate void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical);
42
39 public delegate void AcknowledgeAgentCross(ulong regionHandle, LLUUID agentID); 43 public delegate void AcknowledgeAgentCross(ulong regionHandle, LLUUID agentID);
40 44
45 public delegate void AcknowledgePrimCross(ulong regionHandle, LLUUID PrimID);
46
41 public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID); 47 public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID);
42 48
49
50
43 public interface IRegionCommsListener 51 public interface IRegionCommsListener
44 { 52 {
45 event ExpectUserDelegate OnExpectUser; 53 event ExpectUserDelegate OnExpectUser;
54 event ExpectPrimDelegate OnExpectPrim;
46 event GenericCall2 OnExpectChildAgent; 55 event GenericCall2 OnExpectChildAgent;
47 event AgentCrossing OnAvatarCrossingIntoRegion; 56 event AgentCrossing OnAvatarCrossingIntoRegion;
57 event PrimCrossing OnPrimCrossingIntoRegion;
48 event AcknowledgeAgentCross OnAcknowledgeAgentCrossed; 58 event AcknowledgeAgentCross OnAcknowledgeAgentCrossed;
59 event AcknowledgePrimCross OnAcknowledgePrimCrossed;
49 event UpdateNeighbours OnNeighboursUpdate; 60 event UpdateNeighbours OnNeighboursUpdate;
50 event CloseAgentConnection OnCloseAgentConnection; 61 event CloseAgentConnection OnCloseAgentConnection;
51 } 62 }
diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs
index 84d1b02..5dc9b81 100644
--- a/OpenSim/Framework/RegionCommsListener.cs
+++ b/OpenSim/Framework/RegionCommsListener.cs
@@ -34,10 +34,13 @@ namespace OpenSim.Framework
34 public class RegionCommsListener : IRegionCommsListener 34 public class RegionCommsListener : IRegionCommsListener
35 { 35 {
36 public event ExpectUserDelegate OnExpectUser; 36 public event ExpectUserDelegate OnExpectUser;
37 public event ExpectPrimDelegate OnExpectPrim;
37 public event GenericCall2 OnExpectChildAgent; 38 public event GenericCall2 OnExpectChildAgent;
38 public event AgentCrossing OnAvatarCrossingIntoRegion; 39 public event AgentCrossing OnAvatarCrossingIntoRegion;
40 public event PrimCrossing OnPrimCrossingIntoRegion;
39 public event UpdateNeighbours OnNeighboursUpdate; 41 public event UpdateNeighbours OnNeighboursUpdate;
40 public event AcknowledgeAgentCross OnAcknowledgeAgentCrossed; 42 public event AcknowledgeAgentCross OnAcknowledgeAgentCrossed;
43 public event AcknowledgePrimCross OnAcknowledgePrimCrossed;
41 public event CloseAgentConnection OnCloseAgentConnection; 44 public event CloseAgentConnection OnCloseAgentConnection;
42 45
43 /// <summary> 46 /// <summary>
@@ -55,6 +58,15 @@ namespace OpenSim.Framework
55 58
56 return false; 59 return false;
57 } 60 }
61 public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData)
62 {
63 if (OnExpectUser != null)
64 {
65 OnExpectPrim(regionHandle, primID, objData);
66 return true;
67 }
68 return false;
69 }
58 70
59 public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, 71 public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position,
60 bool isFlying) 72 bool isFlying)
@@ -66,6 +78,15 @@ namespace OpenSim.Framework
66 } 78 }
67 return false; 79 return false;
68 } 80 }
81 public virtual bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
82 {
83 if (OnPrimCrossingIntoRegion != null)
84 {
85 OnPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical);
86 return true;
87 }
88 return false;
89 }
69 90
70 public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID) 91 public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID)
71 { 92 {
@@ -77,6 +98,16 @@ namespace OpenSim.Framework
77 return false; 98 return false;
78 } 99 }
79 100
101 public virtual bool TriggerAcknowledgePrimCrossed(ulong regionHandle, LLUUID primID)
102 {
103 if (OnAcknowledgePrimCrossed != null)
104 {
105 OnAcknowledgePrimCrossed(regionHandle, primID);
106 return true;
107 }
108 return false;
109 }
110
80 public virtual void TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID) 111 public virtual void TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
81 { 112 {
82 if (OnCloseAgentConnection != null) 113 if (OnCloseAgentConnection != null)