diff options
Diffstat (limited to 'OpenGridServices.GridServer/GridManager.cs')
-rw-r--r-- | OpenGridServices.GridServer/GridManager.cs | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/OpenGridServices.GridServer/GridManager.cs b/OpenGridServices.GridServer/GridManager.cs index 8cff0d3..e41f3d5 100644 --- a/OpenGridServices.GridServer/GridManager.cs +++ b/OpenGridServices.GridServer/GridManager.cs | |||
@@ -16,6 +16,7 @@ namespace OpenGridServices.GridServer | |||
16 | class GridManager | 16 | class GridManager |
17 | { | 17 | { |
18 | Dictionary<string, IGridData> _plugins = new Dictionary<string, IGridData>(); | 18 | Dictionary<string, IGridData> _plugins = new Dictionary<string, IGridData>(); |
19 | public string defaultRecvKey; | ||
19 | 20 | ||
20 | /// <summary> | 21 | /// <summary> |
21 | /// Adds a new grid server plugin - grid servers will be requested in the order they were loaded. | 22 | /// Adds a new grid server plugin - grid servers will be requested in the order they were loaded. |
@@ -23,27 +24,26 @@ namespace OpenGridServices.GridServer | |||
23 | /// <param name="FileName">The filename to the grid server plugin DLL</param> | 24 | /// <param name="FileName">The filename to the grid server plugin DLL</param> |
24 | public void AddPlugin(string FileName) | 25 | public void AddPlugin(string FileName) |
25 | { | 26 | { |
27 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Storage: Attempting to load " + FileName); | ||
26 | Assembly pluginAssembly = Assembly.LoadFrom(FileName); | 28 | Assembly pluginAssembly = Assembly.LoadFrom(FileName); |
27 | 29 | ||
30 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Storage: Found " + pluginAssembly.GetTypes().Length + " interfaces."); | ||
28 | foreach (Type pluginType in pluginAssembly.GetTypes()) | 31 | foreach (Type pluginType in pluginAssembly.GetTypes()) |
29 | { | 32 | { |
30 | if (pluginType.IsPublic) | 33 | if (!pluginType.IsAbstract) |
31 | { | 34 | { |
32 | if (!pluginType.IsAbstract) | 35 | Type typeInterface = pluginType.GetInterface("IGridData", true); |
33 | { | 36 | |
34 | Type typeInterface = pluginType.GetInterface("IGridData", true); | 37 | if (typeInterface != null) |
35 | 38 | { | |
36 | if (typeInterface != null) | 39 | IGridData plug = (IGridData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); |
37 | { | 40 | plug.Initialise(); |
38 | IGridData plug = (IGridData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | 41 | this._plugins.Add(plug.getName(), plug); |
39 | plug.Initialise(); | 42 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Storage: Added IGridData Interface"); |
40 | this._plugins.Add(plug.getName(),plug); | 43 | } |
41 | 44 | ||
42 | } | 45 | typeInterface = null; |
43 | 46 | } | |
44 | typeInterface = null; | ||
45 | } | ||
46 | } | ||
47 | } | 47 | } |
48 | 48 | ||
49 | pluginAssembly = null; | 49 | pluginAssembly = null; |
@@ -63,7 +63,7 @@ namespace OpenGridServices.GridServer | |||
63 | } | 63 | } |
64 | catch (Exception e) | 64 | catch (Exception e) |
65 | { | 65 | { |
66 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("getRegionPlugin UUID " + kvp.Key + " is made of fail: " + e.ToString()); | 66 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Storage: Unable to find region " + uuid.ToStringHyphenated() + " via " + kvp.Key); |
67 | } | 67 | } |
68 | } | 68 | } |
69 | return null; | 69 | return null; |
@@ -84,7 +84,7 @@ namespace OpenGridServices.GridServer | |||
84 | } | 84 | } |
85 | catch (Exception e) | 85 | catch (Exception e) |
86 | { | 86 | { |
87 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("getRegionPlugin Handle " + kvp.Key + " is made of fail: " + e.ToString()); | 87 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Storage: Unable to find region " + handle.ToString() + " via " + kvp.Key); |
88 | } | 88 | } |
89 | } | 89 | } |
90 | return null; | 90 | return null; |
@@ -269,6 +269,7 @@ namespace OpenGridServices.GridServer | |||
269 | TheSim = new SimProfileData(); | 269 | TheSim = new SimProfileData(); |
270 | LLUUID UUID = new LLUUID(param); | 270 | LLUUID UUID = new LLUUID(param); |
271 | TheSim.UUID = UUID; | 271 | TheSim.UUID = UUID; |
272 | TheSim.regionRecvKey = defaultRecvKey; | ||
272 | } | 273 | } |
273 | 274 | ||
274 | XmlDocument doc = new XmlDocument(); | 275 | XmlDocument doc = new XmlDocument(); |
@@ -320,11 +321,13 @@ namespace OpenGridServices.GridServer | |||
320 | 321 | ||
321 | try | 322 | try |
322 | { | 323 | { |
324 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Attempting to add a new region to the grid - " + _plugins.Count + " storage provider(s) registered."); | ||
323 | foreach (KeyValuePair<string, IGridData> kvp in _plugins) | 325 | foreach (KeyValuePair<string, IGridData> kvp in _plugins) |
324 | { | 326 | { |
325 | try | 327 | try |
326 | { | 328 | { |
327 | kvp.Value.AddProfile(TheSim); | 329 | kvp.Value.AddProfile(TheSim); |
330 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("New sim added to grid (" + TheSim.regionName + ")"); | ||
328 | } | 331 | } |
329 | catch (Exception e) | 332 | catch (Exception e) |
330 | { | 333 | { |