瀏覽代碼

Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.

This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this.  This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
Justin Clark-Casey (justincc) 12 年之前
父節點
當前提交
8a0a78cbcc
共有 44 個文件被更改,包括 308 次插入130 次删除
  1. 1 0
      OpenSim/ConsoleClient/ConsoleClient.cs
  2. 1 1
      OpenSim/Framework/ConfigurationMember.cs
  3. 6 5
      OpenSim/Framework/Console/CommandConsole.cs
  4. 1 1
      OpenSim/Framework/Console/ConsoleBase.cs
  5. 90 0
      OpenSim/Framework/ICommandConsole.cs
  6. 53 0
      OpenSim/Framework/IConsole.cs
  7. 2 2
      OpenSim/Framework/IScene.cs
  8. 3 3
      OpenSim/Framework/MainConsole.cs
  9. 1 1
      OpenSim/Framework/RegionInfo.cs
  10. 2 2
      OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs
  11. 22 16
      OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
  12. 1 1
      OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs
  13. 1 1
      OpenSim/Framework/Servers/MainServer.cs
  14. 29 31
      OpenSim/Framework/WebUtil.cs
  15. 1 0
      OpenSim/Region/Application/OpenSim.cs
  16. 1 0
      OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs
  17. 1 1
      OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs
  18. 1 0
      OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
  19. 1 0
      OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs
  20. 1 0
      OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
  21. 1 0
      OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
  22. 1 0
      OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs
  23. 1 0
      OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs
  24. 1 0
      OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs
  25. 1 0
      OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
  26. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs
  27. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Authentication/AuthenticationServiceInConnectorModule.cs
  28. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs
  29. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs
  30. 1 2
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs
  31. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs
  32. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Login/LLLoginServiceInConnectorModule.cs
  33. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/MapImage/MapImageServiceInConnectorModule.cs
  34. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs
  35. 1 0
      OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs
  36. 1 0
      OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs
  37. 1 0
      OpenSim/Region/OptionalModules/Avatar/Chat/IRCBridgeModule.cs
  38. 1 0
      OpenSim/Region/OptionalModules/ServiceConnectorsIn/Freeswitch/FreeswitchServiceInConnectorModule.cs
  39. 1 1
      OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
  40. 1 0
      OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs
  41. 1 0
      OpenSim/Server/Base/HttpServerBase.cs
  42. 2 1
      OpenSim/Server/Base/ServicesServerBase.cs
  43. 1 0
      OpenSim/Tools/pCampBot/pCampBot.cs
  44. 65 61
      prebuild.xml

+ 1 - 0
OpenSim/ConsoleClient/ConsoleClient.cs

@@ -33,6 +33,7 @@ using System.IO;
 using System.Xml;
 using System.Collections.Generic;
 using OpenSim.Server.Base;
+using OpenSim.Framework;
 using OpenSim.Framework.Console;
 using OpenMetaverse;
 

+ 1 - 1
OpenSim/Framework/ConfigurationMember.cs

@@ -33,7 +33,7 @@ using System.Reflection;
 using System.Xml;
 using log4net;
 using OpenMetaverse;
-using OpenSim.Framework.Console;
+//using OpenSim.Framework.Console;
 
 namespace OpenSim.Framework
 {

+ 6 - 5
OpenSim/Framework/Console/CommandConsole.cs

@@ -33,12 +33,11 @@ using System.Reflection;
 using System.Text;
 using System.Threading;
 using log4net;
+using OpenSim.Framework;
 
 namespace OpenSim.Framework.Console
 {
-    public delegate void CommandDelegate(string module, string[] cmd);
-
-    public class Commands
+    public class Commands : ICommands
     {
         /// <summary>
         /// Encapsulates a command that can be invoked from the console
@@ -564,14 +563,16 @@ namespace OpenSim.Framework.Console
     /// <summary>
     /// A console that processes commands internally
     /// </summary>
-    public class CommandConsole : ConsoleBase
+    public class CommandConsole : ConsoleBase, ICommandConsole
     {
         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
-        public Commands Commands = new Commands();
+        public ICommands Commands { get; private set; }
 
         public CommandConsole(string defaultPrompt) : base(defaultPrompt)
         {
+            Commands = new Commands();
+
             Commands.AddCommand("console", false, "help", "help [<command>]", 
                     "Get general command list or more detailed help on a specific command", Help);
         }

+ 1 - 1
OpenSim/Framework/Console/ConsoleBase.cs

@@ -41,7 +41,7 @@ namespace OpenSim.Framework.Console
 
         protected string prompt = "# ";
 
-        public object ConsoleScene = null;
+        public object ConsoleScene { get; set; }
 
         /// <summary>
         /// The default prompt text.

+ 90 - 0
OpenSim/Framework/ICommandConsole.cs

@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of the OpenSimulator Project nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Xml;
+
+namespace OpenSim.Framework
+{
+    public delegate void CommandDelegate(string module, string[] cmd);
+
+    public interface ICommands
+    {
+        void FromXml(XmlElement root, CommandDelegate fn);
+
+        /// <summary>
+        /// Get help for the given help string
+        /// </summary>
+        /// <param name="helpParts">Parsed parts of the help string.  If empty then general help is returned.</param>
+        /// <returns></returns>
+        List<string> GetHelp(string[] cmd);
+
+        /// <summary>
+        /// Add a command to those which can be invoked from the console.
+        /// </summary>
+        /// <param name="module"></param>
+        /// <param name="command"></param>
+        /// <param name="help"></param>
+        /// <param name="longhelp"></param>
+        /// <param name="fn"></param>
+        void AddCommand(string module, bool shared, string command, string help, string longhelp, CommandDelegate fn);
+
+        /// <summary>
+        /// Add a command to those which can be invoked from the console.
+        /// </summary>
+        /// <param name="module"></param>
+        /// <param name="command"></param>
+        /// <param name="help"></param>
+        /// <param name="longhelp"></param>
+        /// <param name="descriptivehelp"></param>
+        /// <param name="fn"></param>
+        void AddCommand(string module, bool shared, string command,
+                string help, string longhelp, string descriptivehelp,
+                CommandDelegate fn);
+
+        string[] FindNextOption(string[] cmd, bool term);
+
+        string[] Resolve(string[] cmd);
+
+        XmlElement GetXml(XmlDocument doc);
+    }
+
+    public interface ICommandConsole : IConsole
+    {
+        ICommands Commands { get; }
+
+        /// <summary>
+        /// Display a command prompt on the console and wait for user input
+        /// </summary>
+        void Prompt();
+
+        void RunCommand(string cmd);
+
+        string ReadLine(string p, bool isCommand, bool e);
+    }
+}

+ 53 - 0
OpenSim/Framework/IConsole.cs

@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of the OpenSimulator Project nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+
+namespace OpenSim.Framework
+{
+    public interface IConsole
+    {
+        object ConsoleScene { get; }
+
+        void Output(string text, string level);
+        void Output(string text);
+        void OutputFormat(string format, params object[] components);
+
+        string CmdPrompt(string p);
+        string CmdPrompt(string p, string def);
+        string CmdPrompt(string p, List<char> excludedCharacters);
+        string CmdPrompt(string p, string def, List<char> excludedCharacters);
+
+        // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
+        string CmdPrompt(string prompt, string defaultresponse, List<string> options);
+
+        // Displays a prompt and waits for the user to enter a string, then returns that string
+        // (Done with no echo and suitable for passwords)
+        string PasswdPrompt(string p);
+    }
+}

+ 2 - 2
OpenSim/Framework/IScene.cs

@@ -26,7 +26,7 @@
  */
 
 using OpenMetaverse;
-using OpenSim.Framework.Console;
+//using OpenSim.Framework.Console;
 using Nini.Config;
 
 namespace OpenSim.Framework
@@ -108,7 +108,7 @@ namespace OpenSim.Framework
         void RegisterModuleInterface<M>(M mod);
         void StackModuleInterface<M>(M mod);
 
-        void AddCommand(object module, string command, string shorthelp, string longhelp, CommandDelegate callback);
+//        void AddCommand(object module, string command, string shorthelp, string longhelp, CommandDelegate callback);
 
         ISceneObject DeserializeObject(string representation);
 

+ 3 - 3
OpenSim/Framework/Console/MainConsole.cs → OpenSim/Framework/MainConsole.cs

@@ -25,13 +25,13 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-namespace OpenSim.Framework.Console
+namespace OpenSim.Framework
 {
     public class MainConsole
     {
-        private static CommandConsole instance;
+        private static ICommandConsole instance;
 
-        public static CommandConsole Instance
+        public static ICommandConsole Instance
         {
             get { return instance; }
             set { instance = value; }

+ 1 - 1
OpenSim/Framework/RegionInfo.cs

@@ -36,7 +36,7 @@ using log4net;
 using Nini.Config;
 using OpenMetaverse;
 using OpenMetaverse.StructuredData;
-using OpenSim.Framework.Console;
+//using OpenSim.Framework.Console;
 
 namespace OpenSim.Framework
 {

+ 2 - 2
OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs

@@ -49,7 +49,7 @@ namespace OpenSim.Framework.Servers.HttpServer
         /// <summary>
         /// Add a handler for an HTTP request.
         /// </summary>
-        /// 
+        /// <remarks>
         /// This handler can actually be invoked either as 
         /// 
         /// http://<hostname>:<port>/?method=<methodName> 
@@ -70,7 +70,7 @@ namespace OpenSim.Framework.Servers.HttpServer
         /// In addition, the handler invoked by the HTTP server for any request is the one when best matches the request
         /// URI.  So if a handler for "/myapp/" is registered and a request for "/myapp/page" is received, then
         /// the "/myapp/" handler is invoked if no "/myapp/page" handler exists.
-        /// 
+        /// </remarks>
         /// <param name="methodName"></param>
         /// <param name="handler"></param>
         /// <returns>

+ 22 - 16
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs

@@ -31,6 +31,7 @@ using System.Threading;
 using System.Reflection;
 using log4net;
 using HttpServer;
+using OpenSim.Framework;
 
 namespace OpenSim.Framework.Servers.HttpServer
 {
@@ -54,21 +55,25 @@ namespace OpenSim.Framework.Servers.HttpServer
             m_PollServiceWorkerThreads = new PollServiceWorkerThread[m_WorkerThreadCount];
 
             //startup worker threads
-            for (uint i=0;i<m_WorkerThreadCount;i++)
+            for (uint i = 0; i < m_WorkerThreadCount; i++)
             {
                 m_PollServiceWorkerThreads[i] = new PollServiceWorkerThread(m_server, pTimeout);
                 m_PollServiceWorkerThreads[i].ReQueue += ReQueueEvent;
-               
-                m_workerThreads[i] = new Thread(m_PollServiceWorkerThreads[i].ThreadStart);
-                m_workerThreads[i].Name = String.Format("PollServiceWorkerThread{0}",i);
-                //Can't add to thread Tracker here Referencing OpenSim.Framework creates circular reference
-                m_workerThreads[i].Start();
+
+//                m_workerThreads[i]
+//                    = Watchdog.StartThread(
+//                        m_PollServiceWorkerThreads[i].ThreadStart,
+//                        String.Format("PollServiceWorkerThread{0}", i),
+//                        ThreadPriority.Normal,
+//                        false);
             }
 
-            //start watcher threads
-            m_watcherThread = new Thread(ThreadStart);
-            m_watcherThread.Name = "PollServiceWatcherThread";
-            m_watcherThread.Start();
+            m_watcherThread
+                = Watchdog.StartThread(
+                    this.ThreadStart,
+                    "PollServiceWatcherThread",
+                    ThreadPriority.Normal,
+                    false);
         }
 
         internal void ReQueueEvent(PollServiceHttpRequest req)
@@ -83,10 +88,11 @@ namespace OpenSim.Framework.Servers.HttpServer
                 m_requests.Enqueue(req);
         }
 
-        public void ThreadStart(object o)
+        public void ThreadStart()
         {
             while (m_running)
             {
+                Watchdog.UpdateThread();
                 ProcessQueuedRequests();
                 Thread.Sleep(1000);
             }
@@ -107,7 +113,7 @@ namespace OpenSim.Framework.Servers.HttpServer
                 for (int tc = 0; tc < m_WorkerThreadCount && m_requests.Count > 0; tc++)
                 {
                     //Loop over number of requests each thread handles.
-                    for (int i=0;i<reqperthread && m_requests.Count > 0;i++)
+                    for (int i = 0; i < reqperthread && m_requests.Count > 0; i++)
                     {
                         try
                         {
@@ -125,14 +131,14 @@ namespace OpenSim.Framework.Servers.HttpServer
             
         }
 
-
-
         ~PollServiceRequestManager()
         {
             foreach (object o in m_requests)
             {
                 PollServiceHttpRequest req = (PollServiceHttpRequest) o;
-                m_server.DoHTTPGruntWork(req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id), new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request), req.HttpContext));
+                m_server.DoHTTPGruntWork(
+                    req.PollServiceArgs.NoEvents(req.RequestID, req.PollServiceArgs.Id),
+                    new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request), req.HttpContext));
             }
 
             m_requests.Clear();
@@ -144,4 +150,4 @@ namespace OpenSim.Framework.Servers.HttpServer
             m_running = false;
         }
     }
-}
+}

+ 1 - 1
OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs

@@ -59,7 +59,7 @@ namespace OpenSim.Framework.Servers.HttpServer
             m_timeout = pTimeout;
         }
 
-        public void ThreadStart(object o)
+        public void ThreadStart()
         {
             Run();
         }

+ 1 - 1
OpenSim/Framework/MainServer.cs → OpenSim/Framework/Servers/MainServer.cs

@@ -31,7 +31,7 @@ using System.Net;
 using log4net;
 using OpenSim.Framework.Servers.HttpServer;
 
-namespace OpenSim.Framework
+namespace OpenSim.Framework.Servers
 {
     public class MainServer
     {

+ 29 - 31
OpenSim/Framework/WebUtil.cs

@@ -39,9 +39,7 @@ using System.Text;
 using System.Web;
 using System.Xml;
 using System.Xml.Serialization;
-
 using log4net;
-using OpenSim.Framework.Servers.HttpServer;
 using OpenMetaverse.StructuredData;
 
 namespace OpenSim.Framework
@@ -65,35 +63,35 @@ namespace OpenSim.Framework
         // a "long" call for warning & debugging purposes
         public const int LongCallTime = 500;
 
-        /// <summary>
-        /// Send LLSD to an HTTP client in application/llsd+json form
-        /// </summary>
-        /// <param name="response">HTTP response to send the data in</param>
-        /// <param name="body">LLSD to send to the client</param>
-        public static void SendJSONResponse(OSHttpResponse response, OSDMap body)
-        {
-            byte[] responseData = Encoding.UTF8.GetBytes(OSDParser.SerializeJsonString(body));
-
-            response.ContentEncoding = Encoding.UTF8;
-            response.ContentLength = responseData.Length;
-            response.ContentType = "application/llsd+json";
-            response.Body.Write(responseData, 0, responseData.Length);
-        }
-
-        /// <summary>
-        /// Send LLSD to an HTTP client in application/llsd+xml form
-        /// </summary>
-        /// <param name="response">HTTP response to send the data in</param>
-        /// <param name="body">LLSD to send to the client</param>
-        public static void SendXMLResponse(OSHttpResponse response, OSDMap body)
-        {
-            byte[] responseData = OSDParser.SerializeLLSDXmlBytes(body);
-
-            response.ContentEncoding = Encoding.UTF8;
-            response.ContentLength = responseData.Length;
-            response.ContentType = "application/llsd+xml";
-            response.Body.Write(responseData, 0, responseData.Length);
-        }
+//        /// <summary>
+//        /// Send LLSD to an HTTP client in application/llsd+json form
+//        /// </summary>
+//        /// <param name="response">HTTP response to send the data in</param>
+//        /// <param name="body">LLSD to send to the client</param>
+//        public static void SendJSONResponse(OSHttpResponse response, OSDMap body)
+//        {
+//            byte[] responseData = Encoding.UTF8.GetBytes(OSDParser.SerializeJsonString(body));
+//
+//            response.ContentEncoding = Encoding.UTF8;
+//            response.ContentLength = responseData.Length;
+//            response.ContentType = "application/llsd+json";
+//            response.Body.Write(responseData, 0, responseData.Length);
+//        }
+//
+//        /// <summary>
+//        /// Send LLSD to an HTTP client in application/llsd+xml form
+//        /// </summary>
+//        /// <param name="response">HTTP response to send the data in</param>
+//        /// <param name="body">LLSD to send to the client</param>
+//        public static void SendXMLResponse(OSHttpResponse response, OSDMap body)
+//        {
+//            byte[] responseData = OSDParser.SerializeLLSDXmlBytes(body);
+//
+//            response.ContentEncoding = Encoding.UTF8;
+//            response.ContentLength = responseData.Length;
+//            response.ContentType = "application/llsd+xml";
+//            response.Body.Write(responseData, 0, responseData.Length);
+//        }
 
         /// <summary>
         /// Make a GET or GET-like request to a web service that returns LLSD

+ 1 - 0
OpenSim/Region/Application/OpenSim.cs

@@ -37,6 +37,7 @@ using Nini.Config;
 using OpenMetaverse;
 using OpenSim.Framework;
 using OpenSim.Framework.Console;
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Statistics;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;

+ 1 - 0
OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs

@@ -34,6 +34,7 @@ using NUnit.Framework;
 using OpenMetaverse;
 using OpenMetaverse.Packets;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Servers.HttpServer;
 using OpenSim.Region.ClientStack.Linden;
 using OpenSim.Region.CoreModules.Framework;

+ 1 - 1
OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs

@@ -201,7 +201,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
             }
             else
             {
-                OpenSim.Framework.Console.MainConsole.Instance.Output(
+                MainConsole.Instance.Output(
                     "Usage: alert <message> | alert-user <first> <last> <message>");
                 return;
             }

+ 1 - 0
OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs

@@ -36,6 +36,7 @@ using OpenMetaverse;
 using OpenSim.Framework;
 using OpenSim.Framework.Servers.HttpServer;
 using OpenSim.Framework.Communications;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Services.Interfaces;

+ 1 - 0
OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs

@@ -36,6 +36,7 @@ using Nwc.XmlRpc;
 using Mono.Addins;
 using OpenMetaverse;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using GridRegion = OpenSim.Services.Interfaces.GridRegion;

+ 1 - 0
OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs

@@ -34,6 +34,7 @@ using Nini.Config;
 using Nwc.XmlRpc;
 using OpenMetaverse;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using GridRegion = OpenSim.Services.Interfaces.GridRegion;

+ 1 - 0
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs

@@ -35,6 +35,7 @@ using Mono.Addins;
 using OpenMetaverse;
 using OpenSim.Framework;
 using OpenSim.Framework.Console;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using Caps=OpenSim.Framework.Capabilities.Caps;

+ 1 - 0
OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs

@@ -33,6 +33,7 @@ using log4net;
 using Nini.Config;
 using OpenMetaverse;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.CoreModules.Framework.Monitoring.Alerts;
 using OpenSim.Region.CoreModules.Framework.Monitoring.Monitors;
 using OpenSim.Region.Framework.Interfaces;

+ 1 - 0
OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs

@@ -37,6 +37,7 @@ using Nwc.XmlRpc;
 using OpenMetaverse;
 using OpenSim.Framework;
 using OpenSim.Framework.Communications;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 

+ 1 - 0
OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs

@@ -40,6 +40,7 @@ using OpenMetaverse;
 using OpenMetaverse.StructuredData;
 using OpenSim.Framework;
 using OpenSim.Framework.Capabilities;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using Caps=OpenSim.Framework.Capabilities.Caps;

+ 1 - 0
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs

@@ -34,6 +34,7 @@ using log4net;
 using Nini.Config;
 using OpenMetaverse;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Servers.HttpServer;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Authentication/AuthenticationServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 2
OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Server.Base;
@@ -59,9 +60,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory
                 {
                     m_log.Info("[INVENTORY IN CONNECTOR]: Inventory Service In Connector enabled");
                 }
-
             }
-
         }
 
         public void PostInitialise()

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Login/LLLoginServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/MapImage/MapImageServiceInConnectorModule.cs

@@ -32,6 +32,7 @@ using log4net;
 using Mono.Addins;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs

@@ -32,6 +32,7 @@ using NUnit.Framework;
 using OpenMetaverse;
 using OpenSim.Framework;
 using OpenSim.Framework.Communications;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation;
 using OpenSim.Tests.Common;

+ 1 - 0
OpenSim/Region/OptionalModules/Avatar/Chat/IRCBridgeModule.cs

@@ -34,6 +34,7 @@ using log4net;
 using Nini.Config;
 using Nwc.XmlRpc;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 

+ 1 - 0
OpenSim/Region/OptionalModules/ServiceConnectorsIn/Freeswitch/FreeswitchServiceInConnectorModule.cs

@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using log4net;
 using Nini.Config;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Servers.HttpServer;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Region.Framework.Interfaces;

+ 1 - 1
OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs

@@ -36,7 +36,7 @@ using Nwc.XmlRpc;
 using Mono.Addins;
 using OpenMetaverse;
 using OpenSim.Framework;
-
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Servers.HttpServer;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;

+ 1 - 0
OpenSim/Region/OptionalModules/World/WorldView/WorldViewModule.cs

@@ -36,6 +36,7 @@ using Nini.Config;
 using OpenMetaverse;
 using OpenMetaverse.Imaging;
 using OpenSim.Framework;
+using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using OpenSim.Server.Base;

+ 1 - 0
OpenSim/Server/Base/HttpServerBase.cs

@@ -31,6 +31,7 @@ using System.Threading;
 using System.Reflection;
 using OpenSim.Framework;
 using OpenSim.Framework.Console;
+using OpenSim.Framework.Servers;
 using OpenSim.Framework.Servers.HttpServer;
 using log4net;
 using Nini.Config;

+ 2 - 1
OpenSim/Server/Base/ServicesServerBase.cs

@@ -30,6 +30,7 @@ using System.IO;
 using System.Xml;
 using System.Threading;
 using System.Reflection;
+using OpenSim.Framework;
 using OpenSim.Framework.Console;
 using log4net;
 using log4net.Config;
@@ -208,7 +209,7 @@ namespace OpenSim.Server.Base
             }
             else
             {
-                consoleAppender.Console = MainConsole.Instance;
+                consoleAppender.Console = (ConsoleBase)MainConsole.Instance;
 
                 if (null == consoleAppender.Threshold)
                     consoleAppender.Threshold = Level.All;

+ 1 - 0
OpenSim/Tools/pCampBot/pCampBot.cs

@@ -27,6 +27,7 @@
 
 using System;
 using Nini.Config;
+using OpenSim.Framework;
 using OpenSim.Framework.Console;
 
 namespace pCampBot

+ 65 - 61
prebuild.xml

@@ -55,122 +55,124 @@
         </Project>
 -->
 
-    <Project frameworkVersion="v3_5" name="OpenSim.Framework.Servers.HttpServer" path="OpenSim/Framework/Servers/HttpServer" type="Library">
+    <Project frameworkVersion="v3_5" name="SmartThreadPool" path="ThirdParty/SmartThreadPool" type="Library">
       <Configuration name="Debug">
         <Options>
-          <OutputPath>../../../../bin/</OutputPath>
+          <OutputPath>../../bin/</OutputPath>
         </Options>
       </Configuration>
       <Configuration name="Release">
         <Options>
-          <OutputPath>../../../../bin/</OutputPath>
+          <OutputPath>../../bin/</OutputPath>
         </Options>
       </Configuration>
 
-      <ReferencePath>../../../../bin/</ReferencePath>
+      <ReferencePath>../../bin/</ReferencePath>
       <Reference name="System"/>
       <Reference name="System.Xml"/>
+      <Reference name="System.Data"/>
       <Reference name="System.Web"/>
-      <Reference name="OpenMetaverse.StructuredData" path="../../../../bin/"/>
-      <Reference name="OpenMetaverseTypes" path="../../../../bin/"/>
-      <Reference name="XMLRPC" path="../../../../bin/"/>
-      <Reference name="log4net" path="../../../../bin/"/>
-      <Reference name="HttpServer_OpenSim" path="../../../../bin/"/>
-
       <Files>
-        <Match pattern="*.cs" recurse="true">
-          <Exclude pattern="Tests"/>
-
-          <!-- on temporary suspension -->
-          <Exclude pattern="OSHttpHandler\.cs"/>
-          <Exclude pattern="OSHttpHttpHandler\.cs"/>
-          <Exclude pattern="OSHttpRequestPump\.cs"/>
-          <Exclude pattern="OSHttpRequestQueue\.cs"/>
-          <Exclude pattern="OSHttpServer.*\.cs"/>
-          <Exclude pattern="OSHttpXmlRpcHandler.*\.cs"/>
-        </Match>
+        <Match pattern="*.cs" recurse="false"/>
       </Files>
     </Project>
 
-    <Project frameworkVersion="v3_5" name="OpenSim.Framework.Console" path="OpenSim/Framework/Console" type="Library">
+    <Project frameworkVersion="v3_5" name="OpenSim.Framework" path="OpenSim/Framework" type="Library">
       <Configuration name="Debug">
         <Options>
-          <OutputPath>../../../bin/</OutputPath>
+          <OutputPath>../../bin/</OutputPath>
         </Options>
       </Configuration>
       <Configuration name="Release">
         <Options>
-          <OutputPath>../../../bin/</OutputPath>
+          <OutputPath>../../bin/</OutputPath>
         </Options>
       </Configuration>
 
-      <ReferencePath>../../../bin/</ReferencePath>
+      <ReferencePath>../../bin/</ReferencePath>
       <Reference name="System"/>
+      <Reference name="System.Core"/>
       <Reference name="System.Xml"/>
+      <Reference name="System.Data"/>
+      <Reference name="System.Drawing"/>
       <Reference name="System.Web"/>
-      <Reference name="log4net" path="../../../bin/"/>
-      <Reference name="Nini" path="../../../bin/"/>
-      <Reference name="OpenSim.Framework.Servers.HttpServer"/>
-      <Reference name="OpenMetaverseTypes" path="../../../bin/"/>
+      <Reference name="OpenMetaverseTypes" path="../../bin/"/>
+      <Reference name="OpenMetaverse" path="../../bin/"/>
+      <Reference name="OpenMetaverse.StructuredData" path="../../bin/"/>
+      <Reference name="XMLRPC" path="../../bin/"/>
+      <!-- <Reference name="OpenSim.Framework.Console"/> -->
+      <!-- <Reference name="OpenSim.Framework.Servers.HttpServer"/> -->
+      <Reference name="Nini" path="../../bin/"/>
+      <Reference name="log4net" path="../../bin/"/>
+      <Reference name="Mono.Addins" path="../../bin/"/>
+      <Reference name="SmartThreadPool"/>
       <Files>
-        <Match pattern="*.cs" recurse="true"/>
+        <Match pattern="*.cs" recurse="false"/>
+        <Match path="Client" pattern="*.cs" recurse="true"/>
       </Files>
     </Project>
 
-    <Project frameworkVersion="v3_5" name="SmartThreadPool" path="ThirdParty/SmartThreadPool" type="Library">
+    <Project frameworkVersion="v3_5" name="OpenSim.Framework.Servers.HttpServer" path="OpenSim/Framework/Servers/HttpServer" type="Library">
       <Configuration name="Debug">
         <Options>
-          <OutputPath>../../bin/</OutputPath>
+          <OutputPath>../../../../bin/</OutputPath>
         </Options>
       </Configuration>
       <Configuration name="Release">
         <Options>
-          <OutputPath>../../bin/</OutputPath>
+          <OutputPath>../../../../bin/</OutputPath>
         </Options>
       </Configuration>
 
-      <ReferencePath>../../bin/</ReferencePath>
+      <ReferencePath>../../../../bin/</ReferencePath>
       <Reference name="System"/>
       <Reference name="System.Xml"/>
-      <Reference name="System.Data"/>
       <Reference name="System.Web"/>
+      <Reference name="OpenSim.Framework"/>
+      <Reference name="OpenMetaverse.StructuredData" path="../../../../bin/"/>
+      <Reference name="OpenMetaverseTypes" path="../../../../bin/"/>
+      <Reference name="XMLRPC" path="../../../../bin/"/>
+      <Reference name="log4net" path="../../../../bin/"/>
+      <Reference name="HttpServer_OpenSim" path="../../../../bin/"/>
+
       <Files>
-        <Match pattern="*.cs" recurse="false"/>
+        <Match pattern="*.cs" recurse="true">
+          <Exclude pattern="Tests"/>
+
+          <!-- on temporary suspension -->
+          <Exclude pattern="OSHttpHandler\.cs"/>
+          <Exclude pattern="OSHttpHttpHandler\.cs"/>
+          <Exclude pattern="OSHttpRequestPump\.cs"/>
+          <Exclude pattern="OSHttpRequestQueue\.cs"/>
+          <Exclude pattern="OSHttpServer.*\.cs"/>
+          <Exclude pattern="OSHttpXmlRpcHandler.*\.cs"/>
+        </Match>
       </Files>
     </Project>
 
-    <Project frameworkVersion="v3_5" name="OpenSim.Framework" path="OpenSim/Framework" type="Library">
+    <Project frameworkVersion="v3_5" name="OpenSim.Framework.Console" path="OpenSim/Framework/Console" type="Library">
       <Configuration name="Debug">
         <Options>
-          <OutputPath>../../bin/</OutputPath>
+          <OutputPath>../../../bin/</OutputPath>
         </Options>
       </Configuration>
       <Configuration name="Release">
         <Options>
-          <OutputPath>../../bin/</OutputPath>
+          <OutputPath>../../../bin/</OutputPath>
         </Options>
       </Configuration>
 
-      <ReferencePath>../../bin/</ReferencePath>
+      <ReferencePath>../../../bin/</ReferencePath>
       <Reference name="System"/>
-      <Reference name="System.Core"/>
       <Reference name="System.Xml"/>
-      <Reference name="System.Data"/>
-      <Reference name="System.Drawing"/>
       <Reference name="System.Web"/>
-      <Reference name="OpenMetaverseTypes" path="../../bin/"/>
-      <Reference name="OpenMetaverse" path="../../bin/"/>
-      <Reference name="OpenMetaverse.StructuredData" path="../../bin/"/>
-      <Reference name="XMLRPC" path="../../bin/"/>
-      <Reference name="OpenSim.Framework.Console"/>
+      <Reference name="log4net" path="../../../bin/"/>
+      <Reference name="Nini" path="../../../bin/"/>
+      <Reference name="OpenSim.Framework"/>
       <Reference name="OpenSim.Framework.Servers.HttpServer"/>
-      <Reference name="Nini" path="../../bin/"/>
-      <Reference name="log4net" path="../../bin/"/>
-      <Reference name="Mono.Addins" path="../../bin/"/>
-      <Reference name="SmartThreadPool"/>
+      <Reference name="OpenMetaverseTypes" path="../../../bin/"/>
       <Files>
-        <Match pattern="*.cs" recurse="false"/>
-        <Match path="Client" pattern="*.cs" recurse="true"/>
+        <Match pattern="*.cs" recurse="true"/>
       </Files>
     </Project>
 
@@ -810,6 +812,7 @@
       <Reference name="OpenMetaverse" path="../../../bin/"/>
       <Reference name="OpenSim.Framework"/>
       <Reference name="OpenSim.Framework.Console"/>
+      <Reference name="OpenSim.Framework.Servers"/>
       <Reference name="OpenSim.Framework.Servers.HttpServer"/>
       <Reference name="Nini" path="../../../bin/"/>
       <Reference name="log4net" path="../../../bin/"/>
@@ -1474,21 +1477,21 @@
       <Reference name="CSJ2K" path="../../../bin/"/>
       <Reference name="Warp3D" path="../../../bin/" localCopy="true"/>
       <Reference name="OpenSim.Capabilities"/>
+      <Reference name="OpenSim.Data"/>
       <Reference name="OpenSim.Framework"/>
       <Reference name="OpenSim.Framework.Communications"/>
-      <Reference name="OpenSim.Data"/>
+      <Reference name="OpenSim.Framework.Console"/>
+      <Reference name="OpenSim.Framework.Serialization"/>
+      <Reference name="OpenSim.Framework.Servers"/>
+      <Reference name="OpenSim.Framework.Servers.HttpServer"/>
+      <Reference name="OpenSim.Framework.Statistics"/>
       <Reference name="OpenSim.Region.Framework"/>
+      <Reference name="OpenSim.Region.Physics.Manager"/>
       <Reference name="OpenSim.Server.Base"/>
       <Reference name="OpenSim.Server.Handlers"/>
       <Reference name="OpenSim.Services.Connectors"/>
       <Reference name="OpenSim.Services.Base"/>
       <Reference name="OpenSim.Services.Interfaces"/>
-      <Reference name="OpenSim.Framework.Serialization"/>
-      <Reference name="OpenSim.Framework.Console"/>
-      <Reference name="OpenSim.Framework.Servers"/>
-      <Reference name="OpenSim.Framework.Servers.HttpServer"/>
-      <Reference name="OpenSim.Framework.Statistics"/>
-      <Reference name="OpenSim.Region.Physics.Manager"/>
 
       <Reference name="GlynnTucker.Cache" path="../../../bin/"/>
 
@@ -3090,6 +3093,7 @@
       <Reference name="OpenMetaverseTypes" path="../../../../../bin/"/>
       <Reference name="OpenSim.Framework"/>
       <Reference name="OpenSim.Framework.Communications"/>
+      <Reference name="OpenSim.Framework.Servers"/>
       <Reference name="OpenSim.Framework.Servers.HttpServer"/>
       <Reference name="OpenSim.Framework.Statistics"/>
       <Reference name="OpenSim.Region.ClientStack.LindenCaps"/>