aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Server/Handlers/Asset/AssetServerConnector.cs6
-rw-r--r--OpenSim/Server/ServerMain.cs (renamed from OpenSim/Server/AssetServer/AssetServerMain.cs)54
-rw-r--r--bin/OpenSim.Server.exe.config (renamed from bin/OpenSim.Servers.AssetServer.exe.config)0
-rw-r--r--bin/OpenSim.Server.ini.example (renamed from bin/OpenSim.Servers.AssetServer.ini.example)3
-rw-r--r--prebuild.xml8
5 files changed, 60 insertions, 11 deletions
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
index 64014f5..686e6dd 100644
--- a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
+++ b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
@@ -30,14 +30,16 @@ using Nini.Config;
30using OpenSim.Server.Base; 30using OpenSim.Server.Base;
31using OpenSim.Services.Interfaces; 31using OpenSim.Services.Interfaces;
32using OpenSim.Framework.Servers.HttpServer; 32using OpenSim.Framework.Servers.HttpServer;
33using OpenSim.Server.Handlers.Base;
33 34
34namespace OpenSim.Server.Handlers.Asset 35namespace OpenSim.Server.Handlers.Asset
35{ 36{
36 public class AssetServiceConnector 37 public class AssetServiceConnector : ServiceConnector
37 { 38 {
38 private IAssetService m_AssetService; 39 private IAssetService m_AssetService;
39 40
40 public AssetServiceConnector(IConfigSource config, IHttpServer server) 41 public AssetServiceConnector(IConfigSource config, IHttpServer server) :
42 base(config, server)
41 { 43 {
42 IConfig serverConfig = config.Configs["AssetService"]; 44 IConfig serverConfig = config.Configs["AssetService"];
43 if (serverConfig == null) 45 if (serverConfig == null)
diff --git a/OpenSim/Server/AssetServer/AssetServerMain.cs b/OpenSim/Server/ServerMain.cs
index b08c8cf..352ae98 100644
--- a/OpenSim/Server/AssetServer/AssetServerMain.cs
+++ b/OpenSim/Server/ServerMain.cs
@@ -25,25 +25,69 @@
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using Nini.Config;
29using log4net;
30using System.Reflection;
28using System; 31using System;
32using System.Collections.Generic;
29using OpenSim.Server.Base; 33using OpenSim.Server.Base;
34using OpenSim.Server.Handlers.Base;
30using OpenSim.Server.Handlers.Asset; 35using OpenSim.Server.Handlers.Asset;
31 36
32namespace OpenSim.Server.AssetServer 37namespace OpenSim.Server
33{ 38{
34 public class AssetServer 39 public class OpenSimServer
35 { 40 {
41 private static readonly ILog m_log =
42 LogManager.GetLogger(
43 MethodBase.GetCurrentMethod().DeclaringType);
44
36 protected static HttpServerBase m_Server = null; 45 protected static HttpServerBase m_Server = null;
37 46
38 protected static AssetServiceConnector m_AssetServiceConnector; 47 protected static List<IServiceConnector> m_ServiceConnectors =
48 new List<IServiceConnector>();
39 49
40 static int Main(string[] args) 50 static int Main(string[] args)
41 { 51 {
42 m_Server = new HttpServerBase("Asset", args); 52 m_Server = new HttpServerBase("Asset", args);
43 53
44 m_AssetServiceConnector = new AssetServiceConnector(m_Server.Config, 54 IConfig serverConfig = m_Server.Config.Configs["Startup"];
45 m_Server.HttpServer); 55 if (serverConfig == null)
56 {
57 System.Console.WriteLine("Startup config section missing in .ini file");
58 throw new Exception("Configuration error");
59 }
60
61 string connList = serverConfig.GetString("ServiceConnectors", String.Empty);
62 string[] conns = connList.Split(new char[] {',', ' '});
63
64 foreach (string conn in conns)
65 {
66 if (conn == String.Empty)
67 continue;
68
69 string[] parts = conn.Split(new char[] {':'});
70 string friendlyName = parts[0];
71 if (parts.Length > 1)
72 friendlyName = parts[1];
73
74 m_log.InfoFormat("[SERVER]: Loading {0}", friendlyName);
75
76 Object[] modargs = new Object[] { m_Server.Config, m_Server.HttpServer };
77 IServiceConnector connector =
78 ServerUtils.LoadPlugin<IServiceConnector>(conn,
79 modargs);
46 80
81 if (connector != null)
82 {
83 m_ServiceConnectors.Add(connector);
84 m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName);
85 }
86 else
87 {
88 m_log.InfoFormat("[SERVER]: Failed to load {0}", conn);
89 }
90 }
47 return m_Server.Run(); 91 return m_Server.Run();
48 } 92 }
49 } 93 }
diff --git a/bin/OpenSim.Servers.AssetServer.exe.config b/bin/OpenSim.Server.exe.config
index c2d93c0..c2d93c0 100644
--- a/bin/OpenSim.Servers.AssetServer.exe.config
+++ b/bin/OpenSim.Server.exe.config
diff --git a/bin/OpenSim.Servers.AssetServer.ini.example b/bin/OpenSim.Server.ini.example
index 656ded0..b2e0f96 100644
--- a/bin/OpenSim.Servers.AssetServer.ini.example
+++ b/bin/OpenSim.Server.ini.example
@@ -5,6 +5,9 @@
5; inifile = "OpenSim.Servers.AssetServer.ini" 5; inifile = "OpenSim.Servers.AssetServer.ini"
6; logfile = "AssetServer.log" ; Also read from application config file 6; logfile = "AssetServer.log" ; Also read from application config file
7 7
8; Connectors, comma separated
9ServiceConnectors = "OpenSim.Server.Handlers.dll:AssetServiceConnector"
10
8[Network] 11[Network]
9port = 8003 12port = 8003
10 13
diff --git a/prebuild.xml b/prebuild.xml
index 1c4d41e..697c266 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -1418,19 +1418,19 @@
1418 </Files> 1418 </Files>
1419 </Project> 1419 </Project>
1420 1420
1421 <Project name="OpenSim.Server.AssetServer" path="OpenSim/Server/AssetServer" type="Exe"> 1421 <Project name="OpenSim.Server" path="OpenSim/Server" type="Exe">
1422 <Configuration name="Debug"> 1422 <Configuration name="Debug">
1423 <Options> 1423 <Options>
1424 <OutputPath>../../../bin/</OutputPath> 1424 <OutputPath>../../bin/</OutputPath>
1425 </Options> 1425 </Options>
1426 </Configuration> 1426 </Configuration>
1427 <Configuration name="Release"> 1427 <Configuration name="Release">
1428 <Options> 1428 <Options>
1429 <OutputPath>../../../bin/</OutputPath> 1429 <OutputPath>../../bin/</OutputPath>
1430 </Options> 1430 </Options>
1431 </Configuration> 1431 </Configuration>
1432 1432
1433 <ReferencePath>../../../bin/</ReferencePath> 1433 <ReferencePath>../../bin/</ReferencePath>
1434 <Reference name="System"/> 1434 <Reference name="System"/>
1435 <Reference name="System.Xml"/> 1435 <Reference name="System.Xml"/>
1436 <Reference name="OpenMetaverseTypes.dll"/> 1436 <Reference name="OpenMetaverseTypes.dll"/>