From 0a959343a58b06d68d86be4607003b1c3d83a981 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 18 Aug 2012 22:36:48 +0200 Subject: [PATCH] Make the console output from the reigon console hookable --- .../Region/ClientStack/Linden/Caps/RegionConsoleModule.cs | 7 +++++++ OpenSim/Region/Framework/Interfaces/IRegionConsole.cs | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs index 36af55f0f3..413536da28 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs @@ -64,6 +64,8 @@ namespace OpenSim.Region.ClientStack.Linden private Commands m_commands = new Commands(); public ICommands Commands { get { return m_commands; } } + public event ConsoleMessage OnConsoleMessage; + public void Initialise(IConfigSource source) { m_commands.AddCommand( "Help", false, "help", "help []", "Display help on a particular command or on a list of commands in a category", Help); @@ -118,6 +120,11 @@ namespace OpenSim.Region.ClientStack.Linden OSD osd = OSD.FromString(message); m_eventQueue.Enqueue(EventQueueHelper.BuildEvent("SimConsoleResponse", osd), agentID); + + ConsoleMessage handlerConsoleMessage = OnConsoleMessage; + + if (handlerConsoleMessage != null) + handlerConsoleMessage( agentID, message); } public bool RunCommand(string command, UUID invokerID) diff --git a/OpenSim/Region/Framework/Interfaces/IRegionConsole.cs b/OpenSim/Region/Framework/Interfaces/IRegionConsole.cs index 4d261d6655..5d5ce3440a 100644 --- a/OpenSim/Region/Framework/Interfaces/IRegionConsole.cs +++ b/OpenSim/Region/Framework/Interfaces/IRegionConsole.cs @@ -30,8 +30,12 @@ using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { + public delegate void ConsoleMessage(UUID toAgentID, string message); + public interface IRegionConsole { + event ConsoleMessage OnConsoleMessage; + bool RunCommand(string command, UUID invokerID); void SendConsoleOutput(UUID agentID, string message); void AddCommand(string module, bool shared, string command, string help, string longhelp, CommandDelegate fn);