aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/SimulatorServices/SimulationService.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/SimulatorServices/SimulationService.cs85
1 files changed, 85 insertions, 0 deletions
diff --git a/OpenSim/SimulatorServices/SimulationService.cs b/OpenSim/SimulatorServices/SimulationService.cs
new file mode 100644
index 0000000..8f01436
--- /dev/null
+++ b/OpenSim/SimulatorServices/SimulationService.cs
@@ -0,0 +1,85 @@
1using System;
2using System.Reflection;
3using System.Collections.Generic;
4using log4net;
5using Nini.Config;
6using OpenSim.Framework;
7using OpenSim.Framework.Servers.HttpServer;
8using OpenSim.Region.Framework.Scenes;
9using OpenSim.Region.Framework.Interfaces;
10using OpenSim.Server.Base;
11using OpenSim.Server.Handlers.Base;
12
13
14namespace OpenSim.SimulatorServices
15{
16 public class SimulationService : ISharedRegionModule
17 {
18 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
19 private static bool m_Enabled = false;
20
21 private IConfigSource m_Config;
22 bool m_Registered = false;
23
24 #region IRegionModule interface
25
26 public void Initialise(IConfigSource config)
27 {
28 m_Config = config;
29
30 IConfig moduleConfig = config.Configs["Modules"];
31 if (moduleConfig != null)
32 {
33 string name = moduleConfig.GetString("AssetServices", "");
34 if (name == Name)
35 {
36 m_Enabled = true;
37 m_log.Info("[SIM SERVICE]: SimulationService enabled");
38
39 }
40 }
41
42 }
43
44 public void PostInitialise()
45 {
46 }
47
48 public void Close()
49 {
50 }
51
52 public string Name
53 {
54 get { return "SimulationService"; }
55 }
56
57 public void AddRegion(Scene scene)
58 {
59 if (!m_Enabled)
60 return;
61
62 if (!m_Registered)
63 {
64 m_Registered = true;
65
66 m_log.Info("[SIM SERVICE]: Starting...");
67
68 Object[] args = new Object[] { m_Config, scene.CommsManager.HttpServer, scene };
69
70 ServerUtils.LoadPlugin<IServiceConnector>("OpenSim.Server.Handlers.dll:SimulationServiceInConnector", args);
71 }
72 }
73
74 public void RemoveRegion(Scene scene)
75 {
76 }
77
78 public void RegionLoaded(Scene scene)
79 {
80 }
81
82 #endregion
83
84 }
85}