aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs')
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs16
1 files changed, 14 insertions, 2 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs
index c56ea3f..940ec7a 100644
--- a/OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/GatekeeperServerConnector.cs
@@ -46,6 +46,12 @@ namespace OpenSim.Server.Handlers.Hypergrid
46 MethodBase.GetCurrentMethod().DeclaringType); 46 MethodBase.GetCurrentMethod().DeclaringType);
47 47
48 private IGatekeeperService m_GatekeeperService; 48 private IGatekeeperService m_GatekeeperService;
49 public IGatekeeperService GateKeeper
50 {
51 get { return m_GatekeeperService; }
52 }
53
54 private IHypergridService m_HypergridService;
49 55
50 public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server, ISimulationService simService) : 56 public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server, ISimulationService simService) :
51 base(config, server, String.Empty) 57 base(config, server, String.Empty)
@@ -56,13 +62,19 @@ namespace OpenSim.Server.Handlers.Hypergrid
56 string serviceDll = gridConfig.GetString("LocalServiceModule", string.Empty); 62 string serviceDll = gridConfig.GetString("LocalServiceModule", string.Empty);
57 Object[] args = new Object[] { config, simService }; 63 Object[] args = new Object[] { config, simService };
58 m_GatekeeperService = ServerUtils.LoadPlugin<IGatekeeperService>(serviceDll, args); 64 m_GatekeeperService = ServerUtils.LoadPlugin<IGatekeeperService>(serviceDll, args);
65
66 serviceDll = gridConfig.GetString("HypergridService", string.Empty);
67 m_HypergridService = ServerUtils.LoadPlugin<IHypergridService>(serviceDll, args);
68
59 } 69 }
60 if (m_GatekeeperService == null) 70 if (m_GatekeeperService == null || m_HypergridService == null)
61 throw new Exception("Gatekeeper server connector cannot proceed because of missing service"); 71 throw new Exception("Gatekeeper server connector cannot proceed because of missing service");
62 72
63 HypergridHandlers hghandlers = new HypergridHandlers(m_GatekeeperService); 73 HypergridHandlers hghandlers = new HypergridHandlers(m_GatekeeperService, m_HypergridService);
64 server.AddXmlRPCHandler("link_region", hghandlers.LinkRegionRequest, false); 74 server.AddXmlRPCHandler("link_region", hghandlers.LinkRegionRequest, false);
75 server.AddXmlRPCHandler("link_region_by_desc", hghandlers.LinkRegionByDescRequest, false);
65 server.AddXmlRPCHandler("get_region", hghandlers.GetRegion, false); 76 server.AddXmlRPCHandler("get_region", hghandlers.GetRegion, false);
77 server.AddXmlRPCHandler("get_home_region", hghandlers.GetHomeRegion, false);
66 78
67 server.AddHTTPHandler("/foreignagent/", new AgentHandler(m_GatekeeperService).Handler); 79 server.AddHTTPHandler("/foreignagent/", new AgentHandler(m_GatekeeperService).Handler);
68 80