aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorTeravus Ovares2008-03-30 08:01:47 +0000
committerTeravus Ovares2008-03-30 08:01:47 +0000
commitfd2caf5f1673ad14702d89db9804f841c5cb861a (patch)
tree18fd4ae03180b14df41f93544afa0cc9d5ec5309 /OpenSim/Framework
parent* Stop the grid inventory service sending all folder and item details twice (diff)
downloadopensim-SC_OLD-fd2caf5f1673ad14702d89db9804f841c5cb861a.zip
opensim-SC_OLD-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.gz
opensim-SC_OLD-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.bz2
opensim-SC_OLD-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.xz
This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry. * You will need to run prebuild. Next, the good; * This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa. So Linux Simulators and Windows simulators are 100% compatible again. * This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border. If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost. That being said, it's best to update all your simulators to this revision at once.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Communications/IInterRegionCommunications.cs2
-rw-r--r--OpenSim/Framework/IClientAPI.cs8
-rw-r--r--OpenSim/Framework/IRegionCommsListener.cs2
-rw-r--r--OpenSim/Framework/RegionCommsListener.cs4
-rw-r--r--OpenSim/Framework/RegionInfo.cs17
-rw-r--r--OpenSim/Framework/RegionUpData.cs40
6 files changed, 69 insertions, 4 deletions
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
index e7e1737..f018dd6 100644
--- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs
+++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
@@ -35,7 +35,7 @@ namespace OpenSim.Framework.Communications
35 bool Available { get; } 35 bool Available { get; }
36 void CheckRegion(string address, uint port); 36 void CheckRegion(string address, uint port);
37 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); 37 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
38 bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData); 38 bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod);
39 bool RegionUp(SearializableRegionInfo region, ulong regionhandle); 39 bool RegionUp(SearializableRegionInfo region, ulong regionhandle);
40 bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData); 40 bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData);
41 41
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 518659f..9dd17f9 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -302,6 +302,13 @@ namespace OpenSim.Framework
302 302
303 public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID); 303 public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID);
304 304
305 public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, LLUUID AgentID, LLUUID GroupID,
306 LLUUID RayTargetObj, LLVector3 RayEnd, LLVector3 RayStart,
307 bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates);
308
309
310
311
305 public delegate void StatusChange(bool status); 312 public delegate void StatusChange(bool status);
306 313
307 public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status); 314 public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status);
@@ -463,6 +470,7 @@ namespace OpenSim.Framework
463 event GodKickUser OnGodKickUser; 470 event GodKickUser OnGodKickUser;
464 471
465 event ObjectDuplicate OnObjectDuplicate; 472 event ObjectDuplicate OnObjectDuplicate;
473 event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
466 event UpdateVector OnGrabObject; 474 event UpdateVector OnGrabObject;
467 event ObjectSelect OnDeGrabObject; 475 event ObjectSelect OnDeGrabObject;
468 event MoveObject OnGrabUpdate; 476 event MoveObject OnGrabUpdate;
diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs
index c10353b..7726634 100644
--- a/OpenSim/Framework/IRegionCommsListener.cs
+++ b/OpenSim/Framework/IRegionCommsListener.cs
@@ -32,7 +32,7 @@ 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); 35 public delegate bool ExpectPrimDelegate(ulong regionHandle, LLUUID primID, string objData, int XMLMethod);
36 36
37 public delegate void UpdateNeighbours(List<RegionInfo> neighbours); 37 public delegate void UpdateNeighbours(List<RegionInfo> neighbours);
38 38
diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs
index 13d1d28..ee2079b 100644
--- a/OpenSim/Framework/RegionCommsListener.cs
+++ b/OpenSim/Framework/RegionCommsListener.cs
@@ -78,12 +78,12 @@ namespace OpenSim.Framework
78 } 78 }
79 79
80 80
81 public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData) 81 public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData, int XMLMethod)
82 { 82 {
83 handlerExpectPrim = OnExpectPrim; 83 handlerExpectPrim = OnExpectPrim;
84 if (handlerExpectPrim != null) 84 if (handlerExpectPrim != null)
85 { 85 {
86 handlerExpectPrim(regionHandle, primID, objData); 86 handlerExpectPrim(regionHandle, primID, objData, XMLMethod);
87 return true; 87 return true;
88 } 88 }
89 return false; 89 return false;
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index fc6da57..095740d 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -101,6 +101,12 @@ namespace OpenSim.Framework
101 public bool m_allow_alternate_ports; 101 public bool m_allow_alternate_ports;
102 102
103 protected string m_serverURI; 103 protected string m_serverURI;
104
105 public int getInternalEndPointPort()
106 {
107 return m_internalEndPoint.Port;
108 }
109
104 public string ServerURI 110 public string ServerURI
105 { 111 {
106 get 112 get
@@ -279,6 +285,17 @@ namespace OpenSim.Framework
279 RegionID = LLUUID.Zero; 285 RegionID = LLUUID.Zero;
280 ServerURI = ConvertFrom.ServerURI; 286 ServerURI = ConvertFrom.ServerURI;
281 } 287 }
288 public int getInternalEndPointPort()
289 {
290 return m_internalEndPoint.Port;
291 }
292 public void SetEndPoint(string ipaddr, int port)
293 {
294 IPAddress tmpIP = IPAddress.Parse(ipaddr);
295 IPEndPoint tmpEPE= new IPEndPoint(tmpIP, port);
296 m_internalEndPoint = tmpEPE;
297
298 }
282 299
283 //not in use, should swap to nini though. 300 //not in use, should swap to nini though.
284 public void LoadFromNiniSource(IConfigSource source) 301 public void LoadFromNiniSource(IConfigSource source)
diff --git a/OpenSim/Framework/RegionUpData.cs b/OpenSim/Framework/RegionUpData.cs
new file mode 100644
index 0000000..dbb805f
--- /dev/null
+++ b/OpenSim/Framework/RegionUpData.cs
@@ -0,0 +1,40 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Framework
6{
7 [Serializable]
8 public class RegionUpData
9 {
10 private uint m_X = 0;
11 private uint m_Y = 0;
12 private string m_ipaddr = "";
13 private int m_port = 0;
14 public RegionUpData(uint X, uint Y, string ipaddr, int port)
15 {
16 m_X = X;
17 m_Y = Y;
18 m_ipaddr = ipaddr;
19 m_port = port;
20 }
21
22 public uint X
23 {
24 get { return m_X; }
25 }
26 public uint Y
27 {
28 get { return m_Y; }
29 }
30 public string IPADDR
31 {
32 get { return m_ipaddr; }
33 }
34 public int PORT
35 {
36 get { return m_port; }
37 }
38
39 }
40}