aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2008-12-23 21:36:13 +0000
committerMelanie Thielker2008-12-23 21:36:13 +0000
commit8e8abde7d4a3f46751fb345f0ed515a43dfaa76d (patch)
tree0c75362575e42885bff3fbbb22c0f6e8d7965794
parent* Fix http://opensimulator.org/mantis/view.php?id=2889 (diff)
downloadopensim-SC_OLD-8e8abde7d4a3f46751fb345f0ed515a43dfaa76d.zip
opensim-SC_OLD-8e8abde7d4a3f46751fb345f0ed515a43dfaa76d.tar.gz
opensim-SC_OLD-8e8abde7d4a3f46751fb345f0ed515a43dfaa76d.tar.bz2
opensim-SC_OLD-8e8abde7d4a3f46751fb345f0ed515a43dfaa76d.tar.xz
Addinf InterregionData.cs IInterregionComms.cs and InterregionComms.cs
Creates a nonshared region module publishing IInterregionComms, to send data of type InterregionData to another region directly.
-rw-r--r--OpenSim/Framework/InterregionData.cs83
-rw-r--r--OpenSim/Region/Environment/Interfaces/IInterregionComms.cs38
-rw-r--r--OpenSim/Region/Environment/Modules/Framework/InterregionComms.cs82
3 files changed, 203 insertions, 0 deletions
diff --git a/OpenSim/Framework/InterregionData.cs b/OpenSim/Framework/InterregionData.cs
new file mode 100644
index 0000000..044d04b
--- /dev/null
+++ b/OpenSim/Framework/InterregionData.cs
@@ -0,0 +1,83 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using OpenMetaverse;
30using System.Collections.Generic;
31
32namespace OpenSim.Framework
33{
34 public struct InterregionGroupData
35 {
36 public UUID GroupID;
37 public ulong GroupPowers;
38 public bool AcceptNotices;
39 }
40
41 public struct InterregionAnimationData
42 {
43 public UUID Animation;
44 public UUID ObjectID;
45 }
46
47 public struct InterregionData
48 {
49 public ulong RegionHandle;
50 public uint CircuitCode;
51
52 public UUID AgentID;
53 public UUID SessionID;
54
55 public Vector3 AgentPos;
56 public Vector3 AgentVel;
57 public Vector3 Center;
58 public Vector3 Size;
59 public Vector3 AtAxis;
60 public Vector3 LeftAxis;
61 public Vector3 UpAxis;
62 public bool ChangedGrid;
63
64 public float Far;
65 public float Aspect;
66 public int[] Throttles;
67
68 public uint LocomotionState;
69 public Quaternion HeadRotation;
70 public Quaternion BodyRotation;
71 public uint ControlFlags;
72 public float EnergyLevel;
73 public Byte GodLevel;
74 public bool AlwaysRun;
75 public UUID PreyAgent;
76 public Byte AgentAccess;
77 public UUID[] AgentTextures;
78 public UUID ActiveGroupID;
79
80 public InterregionGroupData[] Groups;
81 public InterregionAnimationData[] Anims;
82 }
83}
diff --git a/OpenSim/Region/Environment/Interfaces/IInterregionComms.cs b/OpenSim/Region/Environment/Interfaces/IInterregionComms.cs
new file mode 100644
index 0000000..d2b5dad
--- /dev/null
+++ b/OpenSim/Region/Environment/Interfaces/IInterregionComms.cs
@@ -0,0 +1,38 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using OpenSim.Framework;
30using OpenMetaverse;
31
32namespace OpenSim.Region.Environment.Interfaces
33{
34 public interface IInterregionComms : IRegionModule
35 {
36 bool SendInterregionData(UUID destination, InterregionData data);
37 }
38}
diff --git a/OpenSim/Region/Environment/Modules/Framework/InterregionComms.cs b/OpenSim/Region/Environment/Modules/Framework/InterregionComms.cs
new file mode 100644
index 0000000..9fe17d6
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/Framework/InterregionComms.cs
@@ -0,0 +1,82 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27using System;
28using System.Collections;
29using System.Collections.Generic;
30using System.Net;
31using System.Net.Sockets;
32using System.Reflection;
33using System.Threading;
34using System.Xml;
35using OpenMetaverse;
36using log4net;
37using Nini.Config;
38using Nwc.XmlRpc;
39using OpenSim.Framework;
40using OpenSim.Framework.Communications.Cache;
41using OpenSim.Region.Environment.Interfaces;
42using OpenSim.Region.Interfaces;
43using OpenSim.Region.Environment.Scenes;
44
45namespace OpenSim.Region.Environment.Modules.Framework
46{
47 public class InterregionCommsModule : IInterregionComms
48 {
49 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
50 private Scene m_Scene = null;
51
52 public void Initialise(Scene scene, IConfigSource config)
53 {
54 m_Scene = scene;
55
56 m_Scene.RegisterModuleInterface<IInterregionComms>(this);
57 }
58
59 public void PostInitialise()
60 {
61 }
62
63 public void Close()
64 {
65 }
66
67 public string Name
68 {
69 get { return "InterregionCommsModule"; }
70 }
71
72 public bool IsSharedModule
73 {
74 get { return false; }
75 }
76
77 public bool SendInterregionData(UUID destination, InterregionData data)
78 {
79 return false;
80 }
81 }
82}