diff options
-rw-r--r-- | OpenSim/Server/Handlers/Asset/AssetServerConnector.cs | 6 | ||||
-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.xml | 8 |
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; | |||
30 | using OpenSim.Server.Base; | 30 | using OpenSim.Server.Base; |
31 | using OpenSim.Services.Interfaces; | 31 | using OpenSim.Services.Interfaces; |
32 | using OpenSim.Framework.Servers.HttpServer; | 32 | using OpenSim.Framework.Servers.HttpServer; |
33 | using OpenSim.Server.Handlers.Base; | ||
33 | 34 | ||
34 | namespace OpenSim.Server.Handlers.Asset | 35 | namespace 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 | ||
28 | using Nini.Config; | ||
29 | using log4net; | ||
30 | using System.Reflection; | ||
28 | using System; | 31 | using System; |
32 | using System.Collections.Generic; | ||
29 | using OpenSim.Server.Base; | 33 | using OpenSim.Server.Base; |
34 | using OpenSim.Server.Handlers.Base; | ||
30 | using OpenSim.Server.Handlers.Asset; | 35 | using OpenSim.Server.Handlers.Asset; |
31 | 36 | ||
32 | namespace OpenSim.Server.AssetServer | 37 | namespace 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 | ||
9 | ServiceConnectors = "OpenSim.Server.Handlers.dll:AssetServiceConnector" | ||
10 | |||
8 | [Network] | 11 | [Network] |
9 | port = 8003 | 12 | port = 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"/> |