From f388a4725477b2e3238ccf19ea18dd05a98cdca0 Mon Sep 17 00:00:00 2001 From: MW Date: Fri, 31 Aug 2007 12:19:36 +0000 Subject: [PATCH] Added a Debug method to the Console/log class that has the Conditional attribute (set to "DEBUG"), so we can use that for writing extra debug info to the console. [for anyone who doesn't know about the Conditional attribute, it is a attribute that can be set on a method, and then any call to that method will on be compiled if the terms of that condition are met, ie is this case only if "DEBUG" is true. So its a cleaner implementation of the #if #endif directives]. A few other minor changes. --- OpenSim/Framework/Console/LogBase.cs | 15 ++++++++ OpenSim/Grid/GridServer/GridManager.cs | 4 +-- OpenSim/Region/Environment/ModuleLoader.cs | 24 +++++++++++-- .../Region/Environment/Modules/ChatModule.cs | 1 + .../Environment/Modules/FriendsModule.cs | 27 +++++++++++++- .../Environment/Modules/GroupsModule.cs | 35 +++++++++++++++++++ .../Modules/InstantMessageModule.cs | 27 +++++++++++++- .../Environment/Modules/InventoryModule.cs | 27 +++++++++++++- OpenSim/Region/Environment/Scenes/Scene.cs | 2 +- 9 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 OpenSim/Region/Environment/Modules/GroupsModule.cs diff --git a/OpenSim/Framework/Console/LogBase.cs b/OpenSim/Framework/Console/LogBase.cs index 5f16303258..119c2cdfa5 100644 --- a/OpenSim/Framework/Console/LogBase.cs +++ b/OpenSim/Framework/Console/LogBase.cs @@ -28,6 +28,7 @@ using System; using System.IO; using System.Net; +using System.Diagnostics; using System.Collections.Generic; namespace OpenSim.Framework.Console @@ -228,7 +229,21 @@ namespace OpenSim.Framework.Console WriteNewLine(ConsoleColor.Blue, format, args); return; } + + [Conditional("DEBUG")] + public void Debug(string format, params object[] args) + { + WriteNewLine(ConsoleColor.Gray, format, args); + return; + } + [Conditional("DEBUG")] + public void Debug(string sender, string format, params object[] args) + { + WritePrefixLine(DeriveColor(sender), sender); + WriteNewLine(ConsoleColor.Gray, format, args); + return; + } private void WriteNewLine(ConsoleColor color, string format, params object[] args) { diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs index d38f5d4852..885cd0266e 100644 --- a/OpenSim/Grid/GridServer/GridManager.cs +++ b/OpenSim/Grid/GridServer/GridManager.cs @@ -278,9 +278,9 @@ namespace OpenSim.Grid.GridServer TheSim.regionLocZ = 0; TheSim.regionMapTextureID = new LLUUID((string)requestData["map-image-id"]); - TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * 256), (TheSim.regionLocY * 256)); - System.Console.WriteLine("adding region " + TheSim.regionLocX + " , " + TheSim.regionLocY + " , " + TheSim.serverURI); + TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * 256), (TheSim.regionLocY * 256)); TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/"; + System.Console.WriteLine("adding region " + TheSim.regionLocX + " , " + TheSim.regionLocY + " , " + TheSim.serverURI); TheSim.httpServerURI = "http://" + TheSim.serverIP + ":" + TheSim.httpPort + "/"; diff --git a/OpenSim/Region/Environment/ModuleLoader.cs b/OpenSim/Region/Environment/ModuleLoader.cs index dbe43d57f2..1787a57638 100644 --- a/OpenSim/Region/Environment/ModuleLoader.cs +++ b/OpenSim/Region/Environment/ModuleLoader.cs @@ -23,7 +23,7 @@ namespace OpenSim.Region.Environment /// Really just a test method for loading a set of currently internal modules /// /// - public void LoadInternalModules(Scene scene) + public void CreateDefaultModules(Scene scene) { //Testing IRegionModule ideas XferModule xferManager = new XferModule(); @@ -40,12 +40,30 @@ namespace OpenSim.Region.Environment this.LoadModule("OpenSim.Region.ExtensionsScriptModule.dll", "ExtensionsScriptingModule", scene); - // Post Initialise Modules + // Post Initialise Modules, which most likely shouldn't be here + // but should rather be in a separate method that is called after all modules are loaded/created/intialised xferManager.PostInitialise(); - // chatModule.PostInitialise(); //for now leave this disabled as it would start up a partially working irc bot + // chatModule.PostInitialise(); //for now leave this disabled as it would start up a partially working irc bot avatarProfiles.PostInitialise(); } + /// + /// Loads/initialises a Module instance that can be used by mutliple Regions + /// + /// + /// + /// + public void LoadSharedModule(string dllName, string moduleName, Scene scene) + { + + } + + /// + /// Loads a external Module (if not already loaded) and creates a new instance of it for the passed Scene. + /// + /// + /// + /// public void LoadModule(string dllName, string moduleName, Scene scene) { Assembly pluginAssembly = null; diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs index c26a1a5d53..752cde4d22 100644 --- a/OpenSim/Region/Environment/Modules/ChatModule.cs +++ b/OpenSim/Region/Environment/Modules/ChatModule.cs @@ -10,6 +10,7 @@ using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Interfaces; using OpenSim.Framework.Interfaces; using OpenSim.Framework.Utilities; +using OpenSim.Framework.Console; namespace OpenSim.Region.Environment.Modules { diff --git a/OpenSim/Region/Environment/Modules/FriendsModule.cs b/OpenSim/Region/Environment/Modules/FriendsModule.cs index 960d68fc88..f952bb2a87 100644 --- a/OpenSim/Region/Environment/Modules/FriendsModule.cs +++ b/OpenSim/Region/Environment/Modules/FriendsModule.cs @@ -1,10 +1,35 @@ using System; using System.Collections.Generic; using System.Text; +using libsecondlife; +using OpenSim.Framework.Interfaces; +using OpenSim.Region.Environment.Scenes; +using OpenSim.Region.Environment.Interfaces; + namespace OpenSim.Region.Environment.Modules { - public class FriendsModule + public class FriendsModule : IRegionModule { + private Scene m_scene; + + public void Initialise(Scene scene) + { + m_scene = scene; + } + + public void PostInitialise() + { + + } + + public void CloseDown() + { + } + + public string GetName() + { + return "FriendsModule"; + } } } diff --git a/OpenSim/Region/Environment/Modules/GroupsModule.cs b/OpenSim/Region/Environment/Modules/GroupsModule.cs new file mode 100644 index 0000000000..607b39558b --- /dev/null +++ b/OpenSim/Region/Environment/Modules/GroupsModule.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; +using OpenSim.Framework.Interfaces; +using OpenSim.Region.Environment.Scenes; +using OpenSim.Region.Environment.Interfaces; + +namespace OpenSim.Region.Environment.Modules +{ + public class GroupsModule : IRegionModule + { + private Scene m_scene; + + public void Initialise(Scene scene) + { + m_scene = scene; + } + + public void PostInitialise() + { + + } + + public void CloseDown() + { + } + + public string GetName() + { + return "GroupsModule"; + } + } +} + diff --git a/OpenSim/Region/Environment/Modules/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs index ef2f22407b..9c09c48b1e 100644 --- a/OpenSim/Region/Environment/Modules/InstantMessageModule.cs +++ b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs @@ -1,10 +1,35 @@ using System; using System.Collections.Generic; using System.Text; +using libsecondlife; +using OpenSim.Framework.Interfaces; +using OpenSim.Region.Environment.Scenes; +using OpenSim.Region.Environment.Interfaces; + namespace OpenSim.Region.Environment.Modules { - public class InstantMessageModule + public class InstantMessageModule :IRegionModule { + private Scene m_scene; + + public void Initialise(Scene scene) + { + m_scene = scene; + } + + public void PostInitialise() + { + + } + + public void CloseDown() + { + } + + public string GetName() + { + return "InstantMessageModule"; + } } } diff --git a/OpenSim/Region/Environment/Modules/InventoryModule.cs b/OpenSim/Region/Environment/Modules/InventoryModule.cs index 3659292db7..94e7ba7d19 100644 --- a/OpenSim/Region/Environment/Modules/InventoryModule.cs +++ b/OpenSim/Region/Environment/Modules/InventoryModule.cs @@ -1,10 +1,35 @@ using System; using System.Collections.Generic; using System.Text; +using libsecondlife; +using OpenSim.Framework.Interfaces; +using OpenSim.Region.Environment.Scenes; +using OpenSim.Region.Environment.Interfaces; + namespace OpenSim.Region.Environment.Modules { - public class InventoryModule + public class InventoryModule :IRegionModule { + private Scene m_scene; + + public void Initialise(Scene scene) + { + m_scene = scene; + } + + public void PostInitialise() + { + + } + + public void CloseDown() + { + } + + public string GetName() + { + return "InventoryModule"; + } } } diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 92f26ef57b..46fc86b369 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -170,7 +170,7 @@ namespace OpenSim.Region.Environment.Scenes m_permissionManager = new PermissionManager(this); MainLog.Instance.Verbose("Loading Region Modules"); - m_moduleLoader.LoadInternalModules(this); + m_moduleLoader.CreateDefaultModules(this); m_eventManager.OnParcelPrimCountAdd += m_LandManager.addPrimToLandPrimCounts;