aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs86
1 files changed, 51 insertions, 35 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs
index 6475817..743d3b9 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/LocalGridServiceConnector.cs
@@ -35,6 +35,7 @@ using OpenSim.Server.Base;
35using OpenSim.Region.Framework.Interfaces; 35using OpenSim.Region.Framework.Interfaces;
36using OpenSim.Region.Framework.Scenes; 36using OpenSim.Region.Framework.Scenes;
37using OpenSim.Services.Interfaces; 37using OpenSim.Services.Interfaces;
38using GridRegion = OpenSim.Services.Interfaces.GridRegion;
38using OpenMetaverse; 39using OpenMetaverse;
39 40
40namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid 41namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
@@ -50,6 +51,16 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
50 51
51 private bool m_Enabled = false; 52 private bool m_Enabled = false;
52 53
54 public LocalGridServicesConnector()
55 {
56 }
57
58 public LocalGridServicesConnector(IConfigSource source)
59 {
60 m_log.Debug("[LOCAL GRID CONNECTOR]: LocalGridServicesConnector instantiated");
61 InitialiseService(source);
62 }
63
53 #region ISharedRegionModule 64 #region ISharedRegionModule
54 65
55 public Type ReplaceableInterface 66 public Type ReplaceableInterface
@@ -70,38 +81,43 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
70 string name = moduleConfig.GetString("GridServices", ""); 81 string name = moduleConfig.GetString("GridServices", "");
71 if (name == Name) 82 if (name == Name)
72 { 83 {
73 IConfig assetConfig = source.Configs["GridService"]; 84 InitialiseService(source);
74 if (assetConfig == null)
75 {
76 m_log.Error("[GRID CONNECTOR]: GridService missing from OpenSim.ini");
77 return;
78 }
79
80 string serviceDll = assetConfig.GetString("LocalServiceModule",
81 String.Empty);
82
83 if (serviceDll == String.Empty)
84 {
85 m_log.Error("[GRID CONNECTOR]: No LocalServiceModule named in section GridService");
86 return;
87 }
88
89 Object[] args = new Object[] { source };
90 m_GridService =
91 ServerUtils.LoadPlugin<IGridService>(serviceDll,
92 args);
93
94 if (m_GridService == null)
95 {
96 m_log.Error("[GRID CONNECTOR]: Can't load asset service");
97 return;
98 }
99 m_Enabled = true; 85 m_Enabled = true;
100 m_log.Info("[GRID CONNECTOR]: Local grid connector enabled"); 86 m_log.Info("[LOCAL GRID CONNECTOR]: Local grid connector enabled");
101 } 87 }
102 } 88 }
103 } 89 }
104 90
91 private void InitialiseService(IConfigSource source)
92 {
93 IConfig assetConfig = source.Configs["GridService"];
94 if (assetConfig == null)
95 {
96 m_log.Error("[LOCAL GRID CONNECTOR]: GridService missing from OpenSim.ini");
97 return;
98 }
99
100 string serviceDll = assetConfig.GetString("LocalServiceModule",
101 String.Empty);
102
103 if (serviceDll == String.Empty)
104 {
105 m_log.Error("[LOCAL GRID CONNECTOR]: No LocalServiceModule named in section GridService");
106 return;
107 }
108
109 Object[] args = new Object[] { source };
110 m_GridService =
111 ServerUtils.LoadPlugin<IGridService>(serviceDll,
112 args);
113
114 if (m_GridService == null)
115 {
116 m_log.Error("[LOCAL GRID CONNECTOR]: Can't load grid service");
117 return;
118 }
119 }
120
105 public void PostInitialise() 121 public void PostInitialise()
106 { 122 {
107 } 123 }
@@ -130,7 +146,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
130 146
131 #region IGridService 147 #region IGridService
132 148
133 public bool RegisterRegion(UUID scopeID, SimpleRegionInfo regionInfo) 149 public bool RegisterRegion(UUID scopeID, GridRegion regionInfo)
134 { 150 {
135 return m_GridService.RegisterRegion(scopeID, regionInfo); 151 return m_GridService.RegisterRegion(scopeID, regionInfo);
136 } 152 }
@@ -140,32 +156,32 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
140 return m_GridService.DeregisterRegion(regionID); 156 return m_GridService.DeregisterRegion(regionID);
141 } 157 }
142 158
143 public List<SimpleRegionInfo> GetNeighbours(UUID scopeID, int x, int y) 159 public List<GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
144 { 160 {
145 return m_GridService.GetNeighbours(scopeID, x, y); 161 return m_GridService.GetNeighbours(scopeID, regionID);
146 } 162 }
147 163
148 public SimpleRegionInfo GetRegionByUUID(UUID scopeID, UUID regionID) 164 public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID)
149 { 165 {
150 return m_GridService.GetRegionByUUID(scopeID, regionID); 166 return m_GridService.GetRegionByUUID(scopeID, regionID);
151 } 167 }
152 168
153 public SimpleRegionInfo GetRegionByPosition(UUID scopeID, int x, int y) 169 public GridRegion GetRegionByPosition(UUID scopeID, int x, int y)
154 { 170 {
155 return m_GridService.GetRegionByPosition(scopeID, x, y); 171 return m_GridService.GetRegionByPosition(scopeID, x, y);
156 } 172 }
157 173
158 public SimpleRegionInfo GetRegionByName(UUID scopeID, string regionName) 174 public GridRegion GetRegionByName(UUID scopeID, string regionName)
159 { 175 {
160 return m_GridService.GetRegionByName(scopeID, regionName); 176 return m_GridService.GetRegionByName(scopeID, regionName);
161 } 177 }
162 178
163 public List<SimpleRegionInfo> GetRegionsByName(UUID scopeID, string name, int maxNumber) 179 public List<GridRegion> GetRegionsByName(UUID scopeID, string name, int maxNumber)
164 { 180 {
165 return m_GridService.GetRegionsByName(scopeID, name, maxNumber); 181 return m_GridService.GetRegionsByName(scopeID, name, maxNumber);
166 } 182 }
167 183
168 public List<SimpleRegionInfo> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) 184 public List<GridRegion> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax)
169 { 185 {
170 return m_GridService.GetRegionRange(scopeID, xmin, xmax, ymin, ymax); 186 return m_GridService.GetRegionRange(scopeID, xmin, xmax, ymin, ymax);
171 } 187 }