aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Client/MXP/MXPModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Client/MXP/MXPModule.cs')
-rw-r--r--OpenSim/Client/MXP/MXPModule.cs36
1 files changed, 24 insertions, 12 deletions
diff --git a/OpenSim/Client/MXP/MXPModule.cs b/OpenSim/Client/MXP/MXPModule.cs
index 0b442cc..47417ab 100644
--- a/OpenSim/Client/MXP/MXPModule.cs
+++ b/OpenSim/Client/MXP/MXPModule.cs
@@ -31,6 +31,7 @@ using System.Reflection;
31using System.Text; 31using System.Text;
32using System.Timers; 32using System.Timers;
33using log4net; 33using log4net;
34using Mono.Addins;
34using MXP; 35using MXP;
35using Nini.Config; 36using Nini.Config;
36using OpenMetaverse; 37using OpenMetaverse;
@@ -44,7 +45,8 @@ namespace OpenSim.Client.MXP
44 /** 45 /**
45 * MXP Client Module which adds MXP support to client / region communication. 46 * MXP Client Module which adds MXP support to client / region communication.
46 */ 47 */
47 public class MXPModule : IRegionModule 48 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
49 public class MXPModule : ISharedRegionModule
48 { 50 {
49 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 51 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
50 52
@@ -57,15 +59,23 @@ namespace OpenSim.Client.MXP
57 private readonly Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); 59 private readonly Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>();
58 private bool m_shutdown; 60 private bool m_shutdown;
59 61
60 public void Initialise(Scene scene, IConfigSource source) 62 public void Initialise(IConfigSource source)
63 {
64 m_config = source;
65 }
66
67 public Type ReplaceableInterface
68 {
69 get { return null; }
70 }
71
72 public void AddRegion(Scene scene)
61 { 73 {
62 if (!m_scenes.ContainsKey(scene.RegionInfo.RegionID)) 74 if (!m_scenes.ContainsKey(scene.RegionInfo.RegionID))
63 m_scenes.Add(scene.RegionInfo.RegionID, scene); 75 m_scenes.Add(scene.RegionInfo.RegionID, scene);
64
65 m_config = source;
66 } 76 }
67 77
68 public void PostInitialise() 78 public void RegionLoaded(Scene scene)
69 { 79 {
70 if (m_config.Configs["MXP"] != null) 80 if (m_config.Configs["MXP"] != null)
71 { 81 {
@@ -76,7 +86,7 @@ namespace OpenSim.Client.MXP
76 86
77 m_port = con.GetInt("Port", m_port); 87 m_port = con.GetInt("Port", m_port);
78 88
79 m_server = new MXPPacketServer(m_port, m_scenes,m_config.Configs["StandAlone"].GetBoolean("accounts_authenticate",true)); 89 m_server = new MXPPacketServer(m_port, m_scenes, m_config.Configs["StandAlone"].GetBoolean("accounts_authenticate", true));
80 90
81 m_ticker = new Timer(100); 91 m_ticker = new Timer(100);
82 m_ticker.AutoReset = false; 92 m_ticker.AutoReset = false;
@@ -89,6 +99,14 @@ namespace OpenSim.Client.MXP
89 } 99 }
90 } 100 }
91 101
102 public void RemoveRegion(Scene scene)
103 {
104 }
105
106 public void PostInitialise()
107 {
108 }
109
92 void ticker_Elapsed(object sender, ElapsedEventArgs e) 110 void ticker_Elapsed(object sender, ElapsedEventArgs e)
93 { 111 {
94 try 112 try
@@ -121,11 +139,5 @@ namespace OpenSim.Client.MXP
121 { 139 {
122 get { return "MXP ClientStack Module"; } 140 get { return "MXP ClientStack Module"; }
123 } 141 }
124
125 public bool IsSharedModule
126 {
127 get { return true; }
128 }
129
130 } 142 }
131} 143}