Merge branch 'master' of /home/opensim/var/repo/opensim
Conflicts: OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.csintegration
commit
4e8e3874ae
|
@ -99,12 +99,12 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
|
||||||
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
|
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
|
||||||
|
|
||||||
m_log.Info("[LOAD REGIONS PLUGIN]: Loading specific shared modules...");
|
m_log.Info("[LOAD REGIONS PLUGIN]: Loading specific shared modules...");
|
||||||
m_log.Info("[LOAD REGIONS PLUGIN]: DynamicTextureModule...");
|
//m_log.Info("[LOAD REGIONS PLUGIN]: DynamicTextureModule...");
|
||||||
m_openSim.ModuleLoader.LoadDefaultSharedModule(new DynamicTextureModule());
|
//m_openSim.ModuleLoader.LoadDefaultSharedModule(new DynamicTextureModule());
|
||||||
m_log.Info("[LOAD REGIONS PLUGIN]: LoadImageURLModule...");
|
//m_log.Info("[LOAD REGIONS PLUGIN]: LoadImageURLModule...");
|
||||||
m_openSim.ModuleLoader.LoadDefaultSharedModule(new LoadImageURLModule());
|
//m_openSim.ModuleLoader.LoadDefaultSharedModule(new LoadImageURLModule());
|
||||||
m_log.Info("[LOAD REGIONS PLUGIN]: XMLRPCModule...");
|
//m_log.Info("[LOAD REGIONS PLUGIN]: XMLRPCModule...");
|
||||||
m_openSim.ModuleLoader.LoadDefaultSharedModule(new XMLRPCModule());
|
//m_openSim.ModuleLoader.LoadDefaultSharedModule(new XMLRPCModule());
|
||||||
// m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
|
// m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
|
||||||
// m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
|
// m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
|
||||||
m_log.Info("[LOAD REGIONS PLUGIN]: Done.");
|
m_log.Info("[LOAD REGIONS PLUGIN]: Done.");
|
||||||
|
|
|
@ -215,7 +215,7 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region IRegionModulesController implementation
|
#region Region Module interfacesController implementation
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Check that the given module is no disabled in the [Modules] section of the config files.
|
/// Check that the given module is no disabled in the [Modules] section of the config files.
|
||||||
|
|
|
@ -757,33 +757,13 @@ namespace OpenSim
|
||||||
switch (cmdparams[0].ToLower())
|
switch (cmdparams[0].ToLower())
|
||||||
{
|
{
|
||||||
case "list":
|
case "list":
|
||||||
foreach (IRegionModule irm in m_moduleLoader.GetLoadedSharedModules)
|
//TODO: Convert to new region modules
|
||||||
{
|
|
||||||
MainConsole.Instance.Output(String.Format("Shared region module: {0}", irm.Name));
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "unload":
|
case "unload":
|
||||||
if (cmdparams.Length > 1)
|
//TODO: Convert to new region modules
|
||||||
{
|
|
||||||
foreach (IRegionModule rm in new ArrayList(m_moduleLoader.GetLoadedSharedModules))
|
|
||||||
{
|
|
||||||
if (rm.Name.ToLower() == cmdparams[1].ToLower())
|
|
||||||
{
|
|
||||||
MainConsole.Instance.Output(String.Format("Unloading module: {0}", rm.Name));
|
|
||||||
m_moduleLoader.UnloadModule(rm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "load":
|
case "load":
|
||||||
if (cmdparams.Length > 1)
|
//TODO: Convert to new region modules
|
||||||
{
|
|
||||||
foreach (Scene s in new ArrayList(SceneManager.Scenes))
|
|
||||||
{
|
|
||||||
MainConsole.Instance.Output(String.Format("Loading module: {0}", cmdparams[1]));
|
|
||||||
m_moduleLoader.LoadRegionModules(cmdparams[1], s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1018,28 +998,9 @@ namespace OpenSim
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "modules":
|
case "modules":
|
||||||
MainConsole.Instance.Output("The currently loaded shared modules are:");
|
|
||||||
foreach (IRegionModule module in m_moduleLoader.GetLoadedSharedModules)
|
|
||||||
{
|
|
||||||
MainConsole.Instance.Output("Shared Module: " + module.Name);
|
|
||||||
}
|
|
||||||
|
|
||||||
SceneManager.ForEachScene(
|
SceneManager.ForEachScene(
|
||||||
delegate(Scene scene) {
|
delegate(Scene scene) {
|
||||||
m_log.Error("The currently loaded modules in " + scene.RegionInfo.RegionName + " are:");
|
MainConsole.Instance.Output("Loaded region modules in" + scene.RegionInfo.RegionName + " are:");
|
||||||
foreach (IRegionModule module in scene.Modules.Values)
|
|
||||||
{
|
|
||||||
if (!module.IsSharedModule)
|
|
||||||
{
|
|
||||||
m_log.Error("Region Module: " + module.Name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SceneManager.ForEachScene(
|
|
||||||
delegate(Scene scene) {
|
|
||||||
MainConsole.Instance.Output("Loaded new region modules in" + scene.RegionInfo.RegionName + " are:");
|
|
||||||
foreach (IRegionModuleBase module in scene.RegionModules.Values)
|
foreach (IRegionModuleBase module in scene.RegionModules.Values)
|
||||||
{
|
{
|
||||||
Type type = module.GetType().GetInterface("ISharedRegionModule");
|
Type type = module.GetType().GetInterface("ISharedRegionModule");
|
||||||
|
|
|
@ -127,14 +127,6 @@ namespace OpenSim
|
||||||
get { return m_httpServerPort; }
|
get { return m_httpServerPort; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ModuleLoader ModuleLoader
|
|
||||||
{
|
|
||||||
get { return m_moduleLoader; }
|
|
||||||
set { m_moduleLoader = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ModuleLoader m_moduleLoader;
|
|
||||||
|
|
||||||
protected IRegistryCore m_applicationRegistry = new RegistryCore();
|
protected IRegistryCore m_applicationRegistry = new RegistryCore();
|
||||||
|
|
||||||
public IRegistryCore ApplicationRegistry
|
public IRegistryCore ApplicationRegistry
|
||||||
|
@ -223,9 +215,6 @@ namespace OpenSim
|
||||||
|
|
||||||
base.StartupSpecific();
|
base.StartupSpecific();
|
||||||
|
|
||||||
// Create a ModuleLoader instance
|
|
||||||
m_moduleLoader = new ModuleLoader(m_config.Source);
|
|
||||||
|
|
||||||
LoadPlugins();
|
LoadPlugins();
|
||||||
foreach (IApplicationPlugin plugin in m_plugins)
|
foreach (IApplicationPlugin plugin in m_plugins)
|
||||||
{
|
{
|
||||||
|
@ -370,12 +359,6 @@ namespace OpenSim
|
||||||
|
|
||||||
m_log.Info("[MODULES]: Loading Region's modules (old style)");
|
m_log.Info("[MODULES]: Loading Region's modules (old style)");
|
||||||
|
|
||||||
List<IRegionModule> modules = m_moduleLoader.PickupModules(scene, ".");
|
|
||||||
|
|
||||||
// This needs to be ahead of the script engine load, so the
|
|
||||||
// script module can pick up events exposed by a module
|
|
||||||
m_moduleLoader.InitialiseSharedModules(scene);
|
|
||||||
|
|
||||||
// Use this in the future, the line above will be deprecated soon
|
// Use this in the future, the line above will be deprecated soon
|
||||||
m_log.Info("[REGIONMODULES]: Loading Region's modules (new style)");
|
m_log.Info("[REGIONMODULES]: Loading Region's modules (new style)");
|
||||||
IRegionModulesController controller;
|
IRegionModulesController controller;
|
||||||
|
@ -426,13 +409,6 @@ namespace OpenSim
|
||||||
clientServer.Start();
|
clientServer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (do_post_init)
|
|
||||||
{
|
|
||||||
foreach (IRegionModule module in modules)
|
|
||||||
{
|
|
||||||
module.PostInitialise();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
scene.EventManager.OnShutdown += delegate() { ShutdownRegion(scene); };
|
scene.EventManager.OnShutdown += delegate() { ShutdownRegion(scene); };
|
||||||
|
|
||||||
mscene = scene;
|
mscene = scene;
|
||||||
|
@ -722,7 +698,7 @@ namespace OpenSim
|
||||||
|
|
||||||
return new Scene(
|
return new Scene(
|
||||||
regionInfo, circuitManager, sceneGridService,
|
regionInfo, circuitManager, sceneGridService,
|
||||||
simDataService, estateDataService, m_moduleLoader, false,
|
simDataService, estateDataService, false,
|
||||||
m_config.Source, m_version);
|
m_config.Source, m_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ using Caps = OpenSim.Framework.Capabilities.Caps;
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
|
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "BunchOfCapsModule")]
|
||||||
public class BunchOfCapsModule : INonSharedRegionModule
|
public class BunchOfCapsModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
|
|
@ -55,8 +55,8 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
public OSDMap body;
|
public OSDMap body;
|
||||||
}
|
}
|
||||||
|
|
||||||
//[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "EventQueueGetModule")]
|
||||||
public class EventQueueGetModule : IEventQueue, IRegionModule
|
public class EventQueueGetModule : IEventQueue, INonSharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -66,8 +66,6 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
public int DebugLevel { get; set; }
|
public int DebugLevel { get; set; }
|
||||||
|
|
||||||
protected Scene m_scene;
|
protected Scene m_scene;
|
||||||
private IConfigSource m_gConfig;
|
|
||||||
bool enabledYN;
|
|
||||||
|
|
||||||
private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>();
|
private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>();
|
||||||
|
|
||||||
|
@ -75,60 +73,46 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
private Dictionary<UUID, UUID> m_QueueUUIDAvatarMapping = new Dictionary<UUID, UUID>();
|
private Dictionary<UUID, UUID> m_QueueUUIDAvatarMapping = new Dictionary<UUID, UUID>();
|
||||||
private Dictionary<UUID, UUID> m_AvatarQueueUUIDMapping = new Dictionary<UUID, UUID>();
|
private Dictionary<UUID, UUID> m_AvatarQueueUUIDMapping = new Dictionary<UUID, UUID>();
|
||||||
|
|
||||||
#region IRegionModule methods
|
#region INonSharedRegionModule methods
|
||||||
public virtual void Initialise(Scene scene, IConfigSource config)
|
public virtual void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
m_gConfig = config;
|
|
||||||
|
|
||||||
IConfig startupConfig = m_gConfig.Configs["Startup"];
|
|
||||||
|
|
||||||
ReadConfigAndPopulate(scene, startupConfig, "Startup");
|
|
||||||
|
|
||||||
if (enabledYN)
|
|
||||||
{
|
|
||||||
m_scene = scene;
|
|
||||||
scene.RegisterModuleInterface<IEventQueue>(this);
|
|
||||||
|
|
||||||
// Register fallback handler
|
|
||||||
// Why does EQG Fail on region crossings!
|
|
||||||
|
|
||||||
//scene.CommsManager.HttpServer.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack);
|
|
||||||
|
|
||||||
// scene.EventManager.OnNewClient += OnNewClient;
|
|
||||||
|
|
||||||
// TODO: Leaving these open, or closing them when we
|
|
||||||
// become a child is incorrect. It messes up TP in a big
|
|
||||||
// way. CAPS/EQ need to be active as long as the UDP
|
|
||||||
// circuit is there.
|
|
||||||
|
|
||||||
scene.EventManager.OnClientClosed += ClientClosed;
|
|
||||||
|
|
||||||
scene.EventManager.OnMakeChildAgent += MakeChildAgent;
|
|
||||||
scene.EventManager.OnRegisterCaps += OnRegisterCaps;
|
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
|
||||||
"Debug",
|
|
||||||
false,
|
|
||||||
"debug eq",
|
|
||||||
"debug eq [0|1|2]",
|
|
||||||
"Turn on event queue debugging\n"
|
|
||||||
+ " <= 0 - turns off all event queue logging\n"
|
|
||||||
+ " >= 1 - turns on outgoing event logging\n"
|
|
||||||
+ " >= 2 - turns on poll notification",
|
|
||||||
HandleDebugEq);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_gConfig = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ReadConfigAndPopulate(Scene scene, IConfig startupConfig, string p)
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
enabledYN = startupConfig.GetBoolean("EventQueue", true);
|
m_scene = scene;
|
||||||
|
scene.RegisterModuleInterface<IEventQueue>(this);
|
||||||
|
|
||||||
|
scene.EventManager.OnClientClosed += ClientClosed;
|
||||||
|
scene.EventManager.OnMakeChildAgent += MakeChildAgent;
|
||||||
|
scene.EventManager.OnRegisterCaps += OnRegisterCaps;
|
||||||
|
|
||||||
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
|
"Debug",
|
||||||
|
false,
|
||||||
|
"debug eq",
|
||||||
|
"debug eq [0|1|2]",
|
||||||
|
"Turn on event queue debugging\n"
|
||||||
|
+ " <= 0 - turns off all event queue logging\n"
|
||||||
|
+ " >= 1 - turns on outgoing event logging\n"
|
||||||
|
+ " >= 2 - turns on poll notification",
|
||||||
|
HandleDebugEq);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene != scene)
|
||||||
|
return;
|
||||||
|
|
||||||
|
scene.EventManager.OnClientClosed -= ClientClosed;
|
||||||
|
scene.EventManager.OnMakeChildAgent -= MakeChildAgent;
|
||||||
|
scene.EventManager.OnRegisterCaps -= OnRegisterCaps;
|
||||||
|
|
||||||
|
scene.UnregisterModuleInterface<IEventQueue>(this);
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,10 +125,11 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
get { return "EventQueueGetModule"; }
|
get { return "EventQueueGetModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return false; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
protected void HandleDebugEq(string module, string[] args)
|
protected void HandleDebugEq(string module, string[] args)
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This module implements both WebFetchInventoryDescendents and FetchInventoryDescendents2 capabilities.
|
/// This module implements both WebFetchInventoryDescendents and FetchInventoryDescendents2 capabilities.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "FetchInventory2Module")]
|
||||||
public class FetchInventory2Module : INonSharedRegionModule
|
public class FetchInventory2Module : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -47,7 +47,7 @@ using Caps = OpenSim.Framework.Capabilities.Caps;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GetMeshModule")]
|
||||||
public class GetMeshModule : INonSharedRegionModule
|
public class GetMeshModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
@ -58,7 +58,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
private bool m_Enabled = true;
|
private bool m_Enabled = true;
|
||||||
private string m_URL;
|
private string m_URL;
|
||||||
|
|
||||||
#region IRegionModuleBase Members
|
#region Region Module interfaceBase Members
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ using OpenSim.Capabilities.Handlers;
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
|
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GetTextureModule")]
|
||||||
public class GetTextureModule : INonSharedRegionModule
|
public class GetTextureModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MeshUploadFlag capability. This is required for uploading Mesh.
|
/// MeshUploadFlag capability. This is required for uploading Mesh.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MeshUploadFlagModule")]
|
||||||
public class MeshUploadFlagModule : INonSharedRegionModule
|
public class MeshUploadFlagModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
|
|
@ -47,7 +47,7 @@ using OpenSim.Framework.Capabilities;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "NewFileAgentInventoryVariablePriceModule")]
|
||||||
public class NewFileAgentInventoryVariablePriceModule : INonSharedRegionModule
|
public class NewFileAgentInventoryVariablePriceModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -58,7 +58,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
private bool m_enabled = true;
|
private bool m_enabled = true;
|
||||||
private int m_levelUpload = 0;
|
private int m_levelUpload = 0;
|
||||||
|
|
||||||
#region IRegionModuleBase Members
|
#region Region Module interfaceBase Members
|
||||||
|
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
|
@ -98,7 +98,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region Region Module interface
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenMetaverse.StructuredData;
|
using OpenMetaverse.StructuredData;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
|
@ -41,30 +42,60 @@ using Caps=OpenSim.Framework.Capabilities.Caps;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
public class ObjectAdd : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ObjectAdd")]
|
||||||
|
public class ObjectAdd : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
#region IRegionModule Members
|
|
||||||
|
|
||||||
public void Initialise(Scene pScene, IConfigSource pSource)
|
#region INonSharedRegionModule Members
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource pSource)
|
||||||
{
|
{
|
||||||
m_scene = pScene;
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_scene = scene;
|
||||||
m_scene.EventManager.OnRegisterCaps += RegisterCaps;
|
m_scene.EventManager.OnRegisterCaps += RegisterCaps;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
{
|
||||||
|
if (m_scene == scene)
|
||||||
|
{
|
||||||
|
m_scene.EventManager.OnRegisterCaps -= RegisterCaps;
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get { return "ObjectAddModule"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public void RegisterCaps(UUID agentID, Caps caps)
|
public void RegisterCaps(UUID agentID, Caps caps)
|
||||||
{
|
{
|
||||||
UUID capuuid = UUID.Random();
|
UUID capuuid = UUID.Random();
|
||||||
|
|
||||||
// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/");
|
// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/");
|
||||||
|
|
||||||
caps.RegisterHandler(
|
caps.RegisterHandler(
|
||||||
"ObjectAdd",
|
"ObjectAdd",
|
||||||
|
@ -73,7 +104,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
"/CAPS/OA/" + capuuid + "/",
|
"/CAPS/OA/" + capuuid + "/",
|
||||||
httpMethod => ProcessAdd(httpMethod, agentID, caps),
|
httpMethod => ProcessAdd(httpMethod, agentID, caps),
|
||||||
"ObjectAdd",
|
"ObjectAdd",
|
||||||
agentID.ToString()));;
|
agentID.ToString())); ;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Hashtable ProcessAdd(Hashtable request, UUID AgentId, Caps cap)
|
public Hashtable ProcessAdd(Hashtable request, UUID AgentId, Caps cap)
|
||||||
|
@ -84,7 +115,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
responsedata["keepalive"] = false;
|
responsedata["keepalive"] = false;
|
||||||
responsedata["str_response_string"] = "Request wasn't what was expected";
|
responsedata["str_response_string"] = "Request wasn't what was expected";
|
||||||
ScenePresence avatar;
|
ScenePresence avatar;
|
||||||
|
|
||||||
if (!m_scene.TryGetScenePresence(AgentId, out avatar))
|
if (!m_scene.TryGetScenePresence(AgentId, out avatar))
|
||||||
return responsedata;
|
return responsedata;
|
||||||
|
|
||||||
|
@ -127,7 +158,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
|
|
||||||
if (r.Type != OSDType.Map) // not a proper req
|
if (r.Type != OSDType.Map) // not a proper req
|
||||||
return responsedata;
|
return responsedata;
|
||||||
|
|
||||||
OSDMap rm = (OSDMap)r;
|
OSDMap rm = (OSDMap)r;
|
||||||
|
|
||||||
if (rm.ContainsKey("ObjectData")) //v2
|
if (rm.ContainsKey("ObjectData")) //v2
|
||||||
|
@ -138,7 +169,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
return responsedata;
|
return responsedata;
|
||||||
}
|
}
|
||||||
|
|
||||||
OSDMap ObjMap = (OSDMap) rm["ObjectData"];
|
OSDMap ObjMap = (OSDMap)rm["ObjectData"];
|
||||||
|
|
||||||
bypass_raycast = ObjMap["BypassRaycast"].AsBoolean();
|
bypass_raycast = ObjMap["BypassRaycast"].AsBoolean();
|
||||||
everyone_mask = readuintval(ObjMap["EveryoneMask"]);
|
everyone_mask = readuintval(ObjMap["EveryoneMask"]);
|
||||||
|
@ -181,7 +212,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
responsedata["str_response_string"] = "Has Profile key, but data not in expected format";
|
responsedata["str_response_string"] = "Has Profile key, but data not in expected format";
|
||||||
return responsedata;
|
return responsedata;
|
||||||
}
|
}
|
||||||
|
|
||||||
OSDMap ProfileMap = (OSDMap)ObjMap["Profile"];
|
OSDMap ProfileMap = (OSDMap)ObjMap["Profile"];
|
||||||
|
|
||||||
profile_begin = ProfileMap["Begin"].AsInteger();
|
profile_begin = ProfileMap["Begin"].AsInteger();
|
||||||
|
@ -190,14 +221,14 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
hollow = ProfileMap["Hollow"].AsInteger();
|
hollow = ProfileMap["Hollow"].AsInteger();
|
||||||
}
|
}
|
||||||
ray_end_is_intersection = ObjMap["RayEndIsIntersection"].AsBoolean();
|
ray_end_is_intersection = ObjMap["RayEndIsIntersection"].AsBoolean();
|
||||||
|
|
||||||
ray_target_id = ObjMap["RayTargetId"].AsUUID();
|
ray_target_id = ObjMap["RayTargetId"].AsUUID();
|
||||||
state = ObjMap["State"].AsInteger();
|
state = ObjMap["State"].AsInteger();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ray_end = ((OSDArray) ObjMap["RayEnd"]).AsVector3();
|
ray_end = ((OSDArray)ObjMap["RayEnd"]).AsVector3();
|
||||||
ray_start = ((OSDArray) ObjMap["RayStart"]).AsVector3();
|
ray_start = ((OSDArray)ObjMap["RayStart"]).AsVector3();
|
||||||
scale = ((OSDArray) ObjMap["Scale"]).AsVector3();
|
scale = ((OSDArray)ObjMap["Scale"]).AsVector3();
|
||||||
rotation = ((OSDArray)ObjMap["Rotation"]).AsQuaternion();
|
rotation = ((OSDArray)ObjMap["Rotation"]).AsQuaternion();
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
@ -214,7 +245,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
return responsedata;
|
return responsedata;
|
||||||
}
|
}
|
||||||
|
|
||||||
OSDMap AgentDataMap = (OSDMap) rm["AgentData"];
|
OSDMap AgentDataMap = (OSDMap)rm["AgentData"];
|
||||||
|
|
||||||
//session_id = AgentDataMap["SessionId"].AsUUID();
|
//session_id = AgentDataMap["SessionId"].AsUUID();
|
||||||
group_id = AgentDataMap["GroupId"].AsUUID();
|
group_id = AgentDataMap["GroupId"].AsUUID();
|
||||||
|
@ -251,21 +282,21 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
profile_begin = rm["profile_begin"].AsInteger();
|
profile_begin = rm["profile_begin"].AsInteger();
|
||||||
profile_curve = rm["profile_curve"].AsInteger();
|
profile_curve = rm["profile_curve"].AsInteger();
|
||||||
profile_end = rm["profile_end"].AsInteger();
|
profile_end = rm["profile_end"].AsInteger();
|
||||||
|
|
||||||
ray_end_is_intersection = rm["ray_end_is_intersection"].AsBoolean();
|
ray_end_is_intersection = rm["ray_end_is_intersection"].AsBoolean();
|
||||||
|
|
||||||
ray_target_id = rm["ray_target_id"].AsUUID();
|
ray_target_id = rm["ray_target_id"].AsUUID();
|
||||||
|
|
||||||
|
|
||||||
//session_id = rm["session_id"].AsUUID();
|
//session_id = rm["session_id"].AsUUID();
|
||||||
state = rm["state"].AsInteger();
|
state = rm["state"].AsInteger();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ray_end = ((OSDArray)rm["ray_end"]).AsVector3();
|
ray_end = ((OSDArray)rm["ray_end"]).AsVector3();
|
||||||
ray_start = ((OSDArray)rm["ray_start"]).AsVector3();
|
ray_start = ((OSDArray)rm["ray_start"]).AsVector3();
|
||||||
rotation = ((OSDArray)rm["rotation"]).AsQuaternion();
|
rotation = ((OSDArray)rm["rotation"]).AsQuaternion();
|
||||||
scale = ((OSDArray)rm["scale"]).AsVector3();
|
scale = ((OSDArray)rm["scale"]).AsVector3();
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
responsedata["str_response_string"] = "RayEnd, RayStart, Scale or Rotation wasn't in the expected format";
|
responsedata["str_response_string"] = "RayEnd, RayStart, Scale or Rotation wasn't in the expected format";
|
||||||
|
@ -273,9 +304,9 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vector3 pos = m_scene.GetNewRezLocation(ray_start, ray_end, ray_target_id, rotation, (bypass_raycast) ? (byte)1 : (byte)0, (ray_end_is_intersection) ? (byte)1 : (byte)0, true, scale, false);
|
|
||||||
|
Vector3 pos = m_scene.GetNewRezLocation(ray_start, ray_end, ray_target_id, rotation, (bypass_raycast) ? (byte)1 : (byte)0, (ray_end_is_intersection) ? (byte)1 : (byte)0, true, scale, false);
|
||||||
|
|
||||||
PrimitiveBaseShape pbs = PrimitiveBaseShape.CreateBox();
|
PrimitiveBaseShape pbs = PrimitiveBaseShape.CreateBox();
|
||||||
|
|
||||||
|
@ -286,17 +317,17 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
pbs.PathRevolutions = (byte)path_revolutions;
|
pbs.PathRevolutions = (byte)path_revolutions;
|
||||||
pbs.PathScaleX = (byte)path_scale_x;
|
pbs.PathScaleX = (byte)path_scale_x;
|
||||||
pbs.PathScaleY = (byte)path_scale_y;
|
pbs.PathScaleY = (byte)path_scale_y;
|
||||||
pbs.PathShearX = (byte) path_shear_x;
|
pbs.PathShearX = (byte)path_shear_x;
|
||||||
pbs.PathShearY = (byte)path_shear_y;
|
pbs.PathShearY = (byte)path_shear_y;
|
||||||
pbs.PathSkew = (sbyte)path_skew;
|
pbs.PathSkew = (sbyte)path_skew;
|
||||||
pbs.PathTaperX = (sbyte)path_taper_x;
|
pbs.PathTaperX = (sbyte)path_taper_x;
|
||||||
pbs.PathTaperY = (sbyte)path_taper_y;
|
pbs.PathTaperY = (sbyte)path_taper_y;
|
||||||
pbs.PathTwist = (sbyte)path_twist;
|
pbs.PathTwist = (sbyte)path_twist;
|
||||||
pbs.PathTwistBegin = (sbyte)path_twist_begin;
|
pbs.PathTwistBegin = (sbyte)path_twist_begin;
|
||||||
pbs.HollowShape = (HollowShape) hollow;
|
pbs.HollowShape = (HollowShape)hollow;
|
||||||
pbs.PCode = (byte)p_code;
|
pbs.PCode = (byte)p_code;
|
||||||
pbs.ProfileBegin = (ushort) profile_begin;
|
pbs.ProfileBegin = (ushort)profile_begin;
|
||||||
pbs.ProfileCurve = (byte) profile_curve;
|
pbs.ProfileCurve = (byte)profile_curve;
|
||||||
pbs.ProfileEnd = (ushort)profile_end;
|
pbs.ProfileEnd = (ushort)profile_end;
|
||||||
pbs.Scale = scale;
|
pbs.Scale = scale;
|
||||||
pbs.State = (byte)state;
|
pbs.State = (byte)state;
|
||||||
|
@ -306,7 +337,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
if (m_scene.Permissions.CanRezObject(1, avatar.UUID, pos))
|
if (m_scene.Permissions.CanRezObject(1, avatar.UUID, pos))
|
||||||
{
|
{
|
||||||
// rez ON the ground, not IN the ground
|
// rez ON the ground, not IN the ground
|
||||||
// pos.Z += 0.25F;
|
// pos.Z += 0.25F;
|
||||||
|
|
||||||
obj = m_scene.AddNewPrim(avatar.UUID, group_id, pos, rotation, pbs);
|
obj = m_scene.AddNewPrim(avatar.UUID, group_id, pos, rotation, pbs);
|
||||||
}
|
}
|
||||||
|
@ -323,13 +354,13 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
rootpart.GroupMask = group_mask;
|
rootpart.GroupMask = group_mask;
|
||||||
rootpart.NextOwnerMask = next_owner_mask;
|
rootpart.NextOwnerMask = next_owner_mask;
|
||||||
rootpart.Material = (byte)material;
|
rootpart.Material = (byte)material;
|
||||||
|
|
||||||
m_scene.PhysicsScene.AddPhysicsActorTaint(rootpart.PhysActor);
|
m_scene.PhysicsScene.AddPhysicsActorTaint(rootpart.PhysActor);
|
||||||
|
|
||||||
responsedata["int_response_code"] = 200; //501; //410; //404;
|
responsedata["int_response_code"] = 200; //501; //410; //404;
|
||||||
responsedata["content_type"] = "text/plain";
|
responsedata["content_type"] = "text/plain";
|
||||||
responsedata["keepalive"] = false;
|
responsedata["keepalive"] = false;
|
||||||
responsedata["str_response_string"] = String.Format("<llsd><map><key>local_id</key>{0}</map></llsd>",ConvertUintToBytes(obj.LocalId));
|
responsedata["str_response_string"] = String.Format("<llsd><map><key>local_id</key>{0}</map></llsd>", ConvertUintToBytes(obj.LocalId));
|
||||||
|
|
||||||
return responsedata;
|
return responsedata;
|
||||||
}
|
}
|
||||||
|
@ -347,24 +378,8 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
byte[] resultbytes = Utils.UIntToBytes(val);
|
byte[] resultbytes = Utils.UIntToBytes(val);
|
||||||
if (BitConverter.IsLittleEndian)
|
if (BitConverter.IsLittleEndian)
|
||||||
Array.Reverse(resultbytes);
|
Array.Reverse(resultbytes);
|
||||||
return String.Format("<binary encoding=\"base64\">{0}</binary>",Convert.ToBase64String(resultbytes));
|
return String.Format("<binary encoding=\"base64\">{0}</binary>", Convert.ToBase64String(resultbytes));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Name
|
|
||||||
{
|
|
||||||
get { return "ObjectAddModule"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsSharedModule
|
|
||||||
{
|
|
||||||
get { return false; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,14 +51,14 @@ using ExtraParamType = OpenMetaverse.ExtraParamType;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "UploadObjectAssetModule")]
|
||||||
public class UploadObjectAssetModule : INonSharedRegionModule
|
public class UploadObjectAssetModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
|
|
||||||
#region IRegionModuleBase Members
|
#region Region Module interfaceBase Members
|
||||||
|
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
|
@ -92,7 +92,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region Region Module interface
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
/// NOTE: Part of this code was adapted from the Aurora project, specifically
|
/// NOTE: Part of this code was adapted from the Aurora project, specifically
|
||||||
/// the normal part of the response in the capability handler.
|
/// the normal part of the response in the capability handler.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SimulatorFeaturesModule")]
|
||||||
public class SimulatorFeaturesModule : ISharedRegionModule, ISimulatorFeaturesModule
|
public class SimulatorFeaturesModule : ISharedRegionModule, ISimulatorFeaturesModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
|
|
@ -50,7 +50,7 @@ using OpenSim.Capabilities.Handlers;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.Linden
|
namespace OpenSim.Region.ClientStack.Linden
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "UploadBakedTextureModule")]
|
||||||
public class UploadBakedTextureModule : INonSharedRegionModule
|
public class UploadBakedTextureModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This module implements both WebFetchInventoryDescendents and FetchInventoryDescendents2 capabilities.
|
/// This module implements both WebFetchInventoryDescendents and FetchInventoryDescendents2 capabilities.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "WebFetchInvDescModule")]
|
||||||
public class WebFetchInvDescModule : INonSharedRegionModule
|
public class WebFetchInvDescModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -54,7 +54,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
|
||||||
private Dictionary<UUID, AgentAssetTransactions> AgentTransactions =
|
private Dictionary<UUID, AgentAssetTransactions> AgentTransactions =
|
||||||
new Dictionary<UUID, AgentAssetTransactions>();
|
new Dictionary<UUID, AgentAssetTransactions>();
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource source)
|
public void Initialise(IConfigSource source)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -36,13 +37,18 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Agent.IPBan
|
namespace OpenSim.Region.CoreModules.Agent.IPBan
|
||||||
{
|
{
|
||||||
public class IPBanModule : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "IPBanModule")]
|
||||||
|
public class IPBanModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
#region Implementation of IRegionModule
|
#region Implementation of ISharedRegionModule
|
||||||
|
|
||||||
private List<string> m_bans = new List<string>();
|
private List<string> m_bans = new List<string>();
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
public void Initialise(IConfigSource source)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
new SceneBanner(scene, m_bans);
|
new SceneBanner(scene, m_bans);
|
||||||
|
|
||||||
|
@ -50,7 +56,7 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan
|
||||||
{
|
{
|
||||||
foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans)
|
foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans)
|
||||||
{
|
{
|
||||||
if (!String.IsNullOrEmpty(ban.BannedHostIPMask))
|
if (!String.IsNullOrEmpty(ban.BannedHostIPMask))
|
||||||
m_bans.Add(ban.BannedHostIPMask);
|
m_bans.Add(ban.BannedHostIPMask);
|
||||||
if (!String.IsNullOrEmpty(ban.BannedHostNameMask))
|
if (!String.IsNullOrEmpty(ban.BannedHostNameMask))
|
||||||
m_bans.Add(ban.BannedHostNameMask);
|
m_bans.Add(ban.BannedHostNameMask);
|
||||||
|
@ -58,6 +64,14 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
if (File.Exists("bans.txt"))
|
if (File.Exists("bans.txt"))
|
||||||
|
@ -80,9 +94,9 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan
|
||||||
get { return "IPBanModule"; }
|
get { return "IPBanModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -32,6 +32,7 @@ using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenMetaverse.Imaging;
|
using OpenMetaverse.Imaging;
|
||||||
|
@ -45,7 +46,8 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
{
|
{
|
||||||
public delegate void J2KDecodeDelegate(UUID assetID);
|
public delegate void J2KDecodeDelegate(UUID assetID);
|
||||||
|
|
||||||
public class J2KDecoderModule : IRegionModule, IJ2KDecoder
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "J2KDecoderModule")]
|
||||||
|
public class J2KDecoderModule : ISharedRegionModule, IJ2KDecoder
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -55,27 +57,32 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
private readonly Dictionary<UUID, List<DecodedCallback>> m_notifyList = new Dictionary<UUID, List<DecodedCallback>>();
|
private readonly Dictionary<UUID, List<DecodedCallback>> m_notifyList = new Dictionary<UUID, List<DecodedCallback>>();
|
||||||
/// <summary>Cache that will store decoded JPEG2000 layer boundary data</summary>
|
/// <summary>Cache that will store decoded JPEG2000 layer boundary data</summary>
|
||||||
private IImprovedAssetCache m_cache;
|
private IImprovedAssetCache m_cache;
|
||||||
|
private IImprovedAssetCache Cache
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_cache == null)
|
||||||
|
m_cache = m_scene.RequestModuleInterface<IImprovedAssetCache>();
|
||||||
|
|
||||||
|
return m_cache;
|
||||||
|
}
|
||||||
|
}
|
||||||
/// <summary>Reference to a scene (doesn't matter which one as long as it can load the cache module)</summary>
|
/// <summary>Reference to a scene (doesn't matter which one as long as it can load the cache module)</summary>
|
||||||
|
private UUID m_CreatorID = UUID.Zero;
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
|
|
||||||
#region IRegionModule
|
#region ISharedRegionModule
|
||||||
|
|
||||||
private bool m_useCSJ2K = true;
|
private bool m_useCSJ2K = true;
|
||||||
|
|
||||||
public string Name { get { return "J2KDecoderModule"; } }
|
public string Name { get { return "J2KDecoderModule"; } }
|
||||||
public bool IsSharedModule { get { return true; } }
|
|
||||||
|
|
||||||
public J2KDecoderModule()
|
public J2KDecoderModule()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
public void Initialise(IConfigSource source)
|
||||||
{
|
{
|
||||||
if (m_scene == null)
|
|
||||||
m_scene = scene;
|
|
||||||
|
|
||||||
scene.RegisterModuleInterface<IJ2KDecoder>(this);
|
|
||||||
|
|
||||||
IConfig startupConfig = source.Configs["Startup"];
|
IConfig startupConfig = source.Configs["Startup"];
|
||||||
if (startupConfig != null)
|
if (startupConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -83,16 +90,42 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene == null)
|
||||||
|
{
|
||||||
|
m_scene = scene;
|
||||||
|
m_CreatorID = scene.RegionInfo.RegionID;
|
||||||
|
}
|
||||||
|
|
||||||
|
scene.RegisterModuleInterface<IJ2KDecoder>(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene == scene)
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
m_cache = m_scene.RequestModuleInterface<IImprovedAssetCache>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion IRegionModule
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Region Module interface
|
||||||
|
|
||||||
#region IJ2KDecoder
|
#region IJ2KDecoder
|
||||||
|
|
||||||
|
@ -275,11 +308,11 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
{
|
{
|
||||||
m_decodedCache.AddOrUpdate(AssetId, Layers, TimeSpan.FromMinutes(10));
|
m_decodedCache.AddOrUpdate(AssetId, Layers, TimeSpan.FromMinutes(10));
|
||||||
|
|
||||||
if (m_cache != null)
|
if (Cache != null)
|
||||||
{
|
{
|
||||||
string assetID = "j2kCache_" + AssetId.ToString();
|
string assetID = "j2kCache_" + AssetId.ToString();
|
||||||
|
|
||||||
AssetBase layerDecodeAsset = new AssetBase(assetID, assetID, (sbyte)AssetType.Notecard, m_scene.RegionInfo.RegionID.ToString());
|
AssetBase layerDecodeAsset = new AssetBase(assetID, assetID, (sbyte)AssetType.Notecard, m_CreatorID.ToString());
|
||||||
layerDecodeAsset.Local = true;
|
layerDecodeAsset.Local = true;
|
||||||
layerDecodeAsset.Temporary = true;
|
layerDecodeAsset.Temporary = true;
|
||||||
|
|
||||||
|
@ -299,7 +332,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
|
|
||||||
#endregion Serialize Layer Data
|
#endregion Serialize Layer Data
|
||||||
|
|
||||||
m_cache.Cache(layerDecodeAsset);
|
Cache.Cache(layerDecodeAsset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -309,10 +342,10 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (m_cache != null)
|
else if (Cache != null)
|
||||||
{
|
{
|
||||||
string assetName = "j2kCache_" + AssetId.ToString();
|
string assetName = "j2kCache_" + AssetId.ToString();
|
||||||
AssetBase layerDecodeAsset = m_cache.Get(assetName);
|
AssetBase layerDecodeAsset = Cache.Get(assetName);
|
||||||
|
|
||||||
if (layerDecodeAsset != null)
|
if (layerDecodeAsset != null)
|
||||||
{
|
{
|
||||||
|
@ -324,7 +357,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
if (lines.Length == 0)
|
if (lines.Length == 0)
|
||||||
{
|
{
|
||||||
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (empty) " + assetName);
|
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (empty) " + assetName);
|
||||||
m_cache.Expire(assetName);
|
Cache.Expire(assetName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,7 +378,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
catch (FormatException)
|
catch (FormatException)
|
||||||
{
|
{
|
||||||
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (format) " + assetName);
|
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (format) " + assetName);
|
||||||
m_cache.Expire(assetName);
|
Cache.Expire(assetName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -356,7 +389,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (layout) " + assetName);
|
m_log.Warn("[J2KDecodeCache]: Expiring corrupted layer data (layout) " + assetName);
|
||||||
m_cache.Expire(assetName);
|
Cache.Expire(assetName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,9 +35,12 @@ using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Agent.Xfer
|
namespace OpenSim.Region.CoreModules.Agent.Xfer
|
||||||
{
|
{
|
||||||
public class XferModule : IRegionModule, IXfer
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "XferModule")]
|
||||||
|
public class XferModule : INonSharedRegionModule, IXfer
|
||||||
{
|
{
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
private Dictionary<string, FileData> NewFiles = new Dictionary<string, FileData>();
|
private Dictionary<string, FileData> NewFiles = new Dictionary<string, FileData>();
|
||||||
|
@ -59,9 +62,13 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer
|
||||||
public int Count;
|
public int Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region INonSharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
m_scene.EventManager.OnNewClient += NewClient;
|
m_scene.EventManager.OnNewClient += NewClient;
|
||||||
|
@ -69,8 +76,21 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer
|
||||||
m_scene.RegisterModuleInterface<IXfer>(this);
|
m_scene.RegisterModuleInterface<IXfer>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
{
|
||||||
|
m_scene.EventManager.OnNewClient -= NewClient;
|
||||||
|
|
||||||
|
m_scene.UnregisterModuleInterface<IXfer>(this);
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
|
@ -82,11 +102,6 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer
|
||||||
get { return "XferModule"; }
|
get { return "XferModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
|
||||||
{
|
|
||||||
get { return false; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IXfer Members
|
#region IXfer Members
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -89,6 +90,7 @@ namespace OpenSim.Region.CoreModules.Asset
|
||||||
/// ExpirationTime = 60
|
/// ExpirationTime = 60
|
||||||
/// </code>
|
/// </code>
|
||||||
/// </example>
|
/// </example>
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CenomeMemoryAssetCache")]
|
||||||
public class CenomeMemoryAssetCache : IImprovedAssetCache, ISharedRegionModule
|
public class CenomeMemoryAssetCache : IImprovedAssetCache, ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -30,6 +30,7 @@ using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -38,6 +39,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Asset
|
namespace OpenSim.Region.CoreModules.Asset
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CoreAssetCache")]
|
||||||
public class CoreAssetCache : ISharedRegionModule, IImprovedAssetCache
|
public class CoreAssetCache : ISharedRegionModule, IImprovedAssetCache
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -49,12 +49,12 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
|
|
||||||
[assembly: Addin("FlotsamAssetCache", "1.1")]
|
//[assembly: Addin("FlotsamAssetCache", "1.1")]
|
||||||
[assembly: AddinDependency("OpenSim", "0.5")]
|
//[assembly: AddinDependency("OpenSim", "0.5")]
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Asset
|
namespace OpenSim.Region.CoreModules.Asset
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "FlotsamAssetCache")]
|
||||||
public class FlotsamAssetCache : ISharedRegionModule, IImprovedAssetCache, IAssetService
|
public class FlotsamAssetCache : ISharedRegionModule, IImprovedAssetCache, IAssetService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -31,6 +31,7 @@ using System.IO;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using GlynnTucker.Cache;
|
using GlynnTucker.Cache;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Asset
|
namespace OpenSim.Region.CoreModules.Asset
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GlynnTuckerAssetCache")]
|
||||||
public class GlynnTuckerAssetCache : ISharedRegionModule, IImprovedAssetCache
|
public class GlynnTuckerAssetCache : ISharedRegionModule, IImprovedAssetCache
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -39,9 +39,12 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
{
|
{
|
||||||
public class AvatarFactoryModule : IAvatarFactoryModule, IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AvatarFactoryModule")]
|
||||||
|
public class AvatarFactoryModule : IAvatarFactoryModule, INonSharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -59,12 +62,10 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
|
|
||||||
private object m_setAppearanceLock = new object();
|
private object m_setAppearanceLock = new object();
|
||||||
|
|
||||||
#region IRegionModule
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
scene.RegisterModuleInterface<IAvatarFactoryModule>(this);
|
|
||||||
scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
|
||||||
|
|
||||||
IConfig appearanceConfig = config.Configs["Appearance"];
|
IConfig appearanceConfig = config.Configs["Appearance"];
|
||||||
if (appearanceConfig != null)
|
if (appearanceConfig != null)
|
||||||
|
@ -74,11 +75,29 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
// m_log.InfoFormat("[AVFACTORY] configured for {0} save and {1} send",m_savetime,m_sendtime);
|
// m_log.InfoFormat("[AVFACTORY] configured for {0} save and {1} send",m_savetime,m_sendtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_scene == null)
|
|
||||||
m_scene = scene;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene == null)
|
||||||
|
m_scene = scene;
|
||||||
|
|
||||||
|
scene.RegisterModuleInterface<IAvatarFactoryModule>(this);
|
||||||
|
scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (scene == m_scene)
|
||||||
|
{
|
||||||
|
scene.UnregisterModuleInterface<IAvatarFactoryModule>(this);
|
||||||
|
scene.EventManager.OnNewClient -= SubscribeToClientEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
{
|
{
|
||||||
m_updateTimer.Enabled = false;
|
m_updateTimer.Enabled = false;
|
||||||
m_updateTimer.AutoReset = true;
|
m_updateTimer.AutoReset = true;
|
||||||
|
@ -100,6 +119,12 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
get { return false; }
|
get { return false; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SubscribeToClientEvents(IClientAPI client)
|
private void SubscribeToClientEvents(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnRequestWearables += Client_OnRequestWearables;
|
client.OnRequestWearables += Client_OnRequestWearables;
|
||||||
|
|
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -37,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Chat
|
namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ChatModule")]
|
||||||
public class ChatModule : ISharedRegionModule
|
public class ChatModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -33,9 +33,12 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
||||||
{
|
{
|
||||||
public class CombatModule : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CombatModule")]
|
||||||
|
public class CombatModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
//private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
//private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -54,7 +57,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="scene"></param>
|
/// <param name="scene"></param>
|
||||||
/// <param name="config"></param>
|
/// <param name="config"></param>
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
lock (m_scenel)
|
lock (m_scenel)
|
||||||
{
|
{
|
||||||
|
@ -72,6 +79,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
||||||
scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
|
scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scenel.ContainsKey(scene.RegionInfo.RegionHandle))
|
||||||
|
m_scenel.Remove(scene.RegionInfo.RegionHandle);
|
||||||
|
|
||||||
|
scene.EventManager.OnAvatarKilled -= KillAvatar;
|
||||||
|
scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -85,11 +105,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
||||||
get { return "CombatModule"; }
|
get { return "CombatModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void KillAvatar(uint killerObjectLocalID, ScenePresence deadAvatar)
|
private void KillAvatar(uint killerObjectLocalID, ScenePresence deadAvatar)
|
||||||
{
|
{
|
||||||
string deadAvatarMessage;
|
string deadAvatarMessage;
|
||||||
|
|
|
@ -32,6 +32,7 @@ using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -39,16 +40,27 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
{
|
{
|
||||||
public class DialogModule : IRegionModule, IDialogModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DialogModule")]
|
||||||
{
|
public class DialogModule : IDialogModule, INonSharedRegionModule
|
||||||
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
protected Scene m_scene;
|
protected Scene m_scene;
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
public void Initialise(IConfigSource source) { }
|
||||||
|
|
||||||
|
public Type ReplaceableInterface { get { return null; } }
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
m_scene.RegisterModuleInterface<IDialogModule>(this);
|
m_scene.RegisterModuleInterface<IDialogModule>(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
if (scene != m_scene)
|
||||||
|
return;
|
||||||
|
|
||||||
m_scene.AddCommand(
|
m_scene.AddCommand(
|
||||||
"Users", this, "alert", "alert <message>",
|
"Users", this, "alert", "alert <message>",
|
||||||
|
@ -56,46 +68,59 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
HandleAlertConsoleCommand);
|
HandleAlertConsoleCommand);
|
||||||
|
|
||||||
m_scene.AddCommand(
|
m_scene.AddCommand(
|
||||||
"Users", this, "alert-user", "alert-user <first> <last> <message>",
|
"Users", this, "alert-user",
|
||||||
|
"alert-user <first> <last> <message>",
|
||||||
"Send an alert to a user",
|
"Send an alert to a user",
|
||||||
HandleAlertConsoleCommand);
|
HandleAlertConsoleCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise() {}
|
public void RemoveRegion(Scene scene)
|
||||||
public void Close() {}
|
{
|
||||||
|
if (scene != m_scene)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_scene.UnregisterModuleInterface<IDialogModule>(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close() { }
|
||||||
public string Name { get { return "Dialog Module"; } }
|
public string Name { get { return "Dialog Module"; } }
|
||||||
public bool IsSharedModule { get { return false; } }
|
|
||||||
|
|
||||||
public void SendAlertToUser(IClientAPI client, string message)
|
public void SendAlertToUser(IClientAPI client, string message)
|
||||||
{
|
{
|
||||||
SendAlertToUser(client, message, false);
|
SendAlertToUser(client, message, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendAlertToUser(IClientAPI client, string message, bool modal)
|
public void SendAlertToUser(IClientAPI client, string message,
|
||||||
|
bool modal)
|
||||||
{
|
{
|
||||||
client.SendAgentAlertMessage(message, modal);
|
client.SendAgentAlertMessage(message, modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendAlertToUser(UUID agentID, string message)
|
public void SendAlertToUser(UUID agentID, string message)
|
||||||
{
|
{
|
||||||
SendAlertToUser(agentID, message, false);
|
SendAlertToUser(agentID, message, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendAlertToUser(UUID agentID, string message, bool modal)
|
public void SendAlertToUser(UUID agentID, string message, bool modal)
|
||||||
{
|
{
|
||||||
ScenePresence sp = m_scene.GetScenePresence(agentID);
|
ScenePresence sp = m_scene.GetScenePresence(agentID);
|
||||||
|
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
sp.ControllingClient.SendAgentAlertMessage(message, modal);
|
sp.ControllingClient.SendAgentAlertMessage(message, modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendAlertToUser(string firstName, string lastName, string message, bool modal)
|
public void SendAlertToUser(string firstName, string lastName,
|
||||||
|
string message, bool modal)
|
||||||
{
|
{
|
||||||
ScenePresence presence = m_scene.GetScenePresence(firstName, lastName);
|
ScenePresence presence = m_scene.GetScenePresence(firstName,
|
||||||
|
lastName);
|
||||||
if (presence != null)
|
if (presence != null)
|
||||||
presence.ControllingClient.SendAgentAlertMessage(message, modal);
|
{
|
||||||
|
presence.ControllingClient.SendAgentAlertMessage(message,
|
||||||
|
modal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendGeneralAlert(string message)
|
public void SendGeneralAlert(string message)
|
||||||
{
|
{
|
||||||
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
||||||
|
@ -104,11 +129,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendDialogToUser(
|
public void SendDialogToUser(UUID avatarID, string objectName,
|
||||||
UUID avatarID, string objectName, UUID objectID, UUID ownerID,
|
UUID objectID, UUID ownerID, string message, UUID textureID,
|
||||||
string message, UUID textureID, int ch, string[] buttonlabels)
|
int ch, string[] buttonlabels)
|
||||||
{
|
{
|
||||||
UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerID);
|
UserAccount account = m_scene.UserAccountService.GetUserAccount(
|
||||||
|
m_scene.RegionInfo.ScopeID, ownerID);
|
||||||
string ownerFirstName, ownerLastName;
|
string ownerFirstName, ownerLastName;
|
||||||
if (account != null)
|
if (account != null)
|
||||||
{
|
{
|
||||||
|
@ -123,29 +149,38 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
|
|
||||||
ScenePresence sp = m_scene.GetScenePresence(avatarID);
|
ScenePresence sp = m_scene.GetScenePresence(avatarID);
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
sp.ControllingClient.SendDialog(
|
{
|
||||||
objectName, objectID, ownerID, ownerFirstName, ownerLastName, message, textureID, ch, buttonlabels);
|
sp.ControllingClient.SendDialog(objectName, objectID, ownerID,
|
||||||
|
ownerFirstName, ownerLastName, message, textureID, ch,
|
||||||
|
buttonlabels);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendUrlToUser(
|
public void SendUrlToUser(UUID avatarID, string objectName,
|
||||||
UUID avatarID, string objectName, UUID objectID, UUID ownerID, bool groupOwned, string message, string url)
|
UUID objectID, UUID ownerID, bool groupOwned, string message,
|
||||||
|
string url)
|
||||||
{
|
{
|
||||||
ScenePresence sp = m_scene.GetScenePresence(avatarID);
|
ScenePresence sp = m_scene.GetScenePresence(avatarID);
|
||||||
|
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
sp.ControllingClient.SendLoadURL(objectName, objectID, ownerID, groupOwned, message, url);
|
{
|
||||||
|
sp.ControllingClient.SendLoadURL(objectName, objectID,
|
||||||
|
ownerID, groupOwned, message, url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendTextBoxToUser(UUID avatarid, string message, int chatChannel, string name, UUID objectid, UUID ownerid)
|
public void SendTextBoxToUser(UUID avatarid, string message,
|
||||||
|
int chatChannel, string name, UUID objectid, UUID ownerid)
|
||||||
{
|
{
|
||||||
UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerid);
|
UserAccount account = m_scene.UserAccountService.GetUserAccount(
|
||||||
|
m_scene.RegionInfo.ScopeID, ownerid);
|
||||||
string ownerFirstName, ownerLastName;
|
string ownerFirstName, ownerLastName;
|
||||||
UUID ownerID = UUID.Zero;
|
UUID ownerID = UUID.Zero;
|
||||||
if (account != null)
|
if (account != null)
|
||||||
{
|
{
|
||||||
ownerFirstName = account.FirstName;
|
ownerFirstName = account.FirstName;
|
||||||
ownerLastName = account.LastName;
|
ownerLastName = account.LastName;
|
||||||
ownerID = account.PrincipalID;
|
ownerID = account.PrincipalID;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -154,29 +189,38 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
ScenePresence sp = m_scene.GetScenePresence(avatarid);
|
ScenePresence sp = m_scene.GetScenePresence(avatarid);
|
||||||
|
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
sp.ControllingClient.SendTextBoxRequest(message, chatChannel, name, ownerID, ownerFirstName, ownerLastName, objectid);
|
{
|
||||||
|
sp.ControllingClient.SendTextBoxRequest(message, chatChannel,
|
||||||
|
name, ownerID, ownerFirstName, ownerLastName,
|
||||||
|
objectid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendNotificationToUsersInRegion(
|
public void SendNotificationToUsersInRegion(UUID fromAvatarID,
|
||||||
UUID fromAvatarID, string fromAvatarName, string message)
|
string fromAvatarName, string message)
|
||||||
{
|
{
|
||||||
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message);
|
client.SendBlueBoxMessage(fromAvatarID, fromAvatarName,
|
||||||
|
message);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handle an alert command from the console.
|
/// Handle an alert command from the console.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="module"></param>
|
/// <param name="module"></param>
|
||||||
/// <param name="cmdparams"></param>
|
/// <param name="cmdparams"></param>
|
||||||
public void HandleAlertConsoleCommand(string module, string[] cmdparams)
|
public void HandleAlertConsoleCommand(string module,
|
||||||
|
string[] cmdparams)
|
||||||
{
|
{
|
||||||
if (m_scene.ConsoleScene() != null && m_scene.ConsoleScene() != m_scene)
|
if (m_scene.ConsoleScene() != null &&
|
||||||
|
m_scene.ConsoleScene() != m_scene)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
|
|
||||||
|
@ -184,7 +228,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
{
|
{
|
||||||
message = CombineParams(cmdparams, 1);
|
message = CombineParams(cmdparams, 1);
|
||||||
m_log.InfoFormat("[DIALOG]: Sending general alert in region {0} with message {1}",
|
m_log.InfoFormat("[DIALOG]: Sending general alert in region {0} with message {1}",
|
||||||
m_scene.RegionInfo.RegionName, message);
|
m_scene.RegionInfo.RegionName, message);
|
||||||
SendGeneralAlert(message);
|
SendGeneralAlert(message);
|
||||||
}
|
}
|
||||||
else if (cmdparams.Length > 3)
|
else if (cmdparams.Length > 3)
|
||||||
|
@ -192,9 +236,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
string firstName = cmdparams[1];
|
string firstName = cmdparams[1];
|
||||||
string lastName = cmdparams[2];
|
string lastName = cmdparams[2];
|
||||||
message = CombineParams(cmdparams, 3);
|
message = CombineParams(cmdparams, 3);
|
||||||
m_log.InfoFormat(
|
m_log.InfoFormat("[DIALOG]: Sending alert in region {0} to {1} {2} with message {3}",
|
||||||
"[DIALOG]: Sending alert in region {0} to {1} {2} with message {3}",
|
m_scene.RegionInfo.RegionName, firstName, lastName,
|
||||||
m_scene.RegionInfo.RegionName, firstName, lastName, message);
|
message);
|
||||||
SendAlertToUser(firstName, lastName, message, false);
|
SendAlertToUser(firstName, lastName, message, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -212,7 +256,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
|
||||||
{
|
{
|
||||||
result += commandParams[i] + " ";
|
result += commandParams[i] + " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Framework.Communications;
|
using OpenSim.Framework.Communications;
|
||||||
|
@ -50,6 +51,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Friends
|
namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "FriendsModule")]
|
||||||
public class FriendsModule : ISharedRegionModule, IFriendsModule
|
public class FriendsModule : ISharedRegionModule, IFriendsModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -46,6 +46,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Friends
|
namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGFriendsModule")]
|
||||||
public class HGFriendsModule : FriendsModule, ISharedRegionModule, IFriendsModule, IFriendsSimConnector
|
public class HGFriendsModule : FriendsModule, ISharedRegionModule, IFriendsModule, IFriendsSimConnector
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
@ -35,26 +36,46 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Gestures
|
namespace OpenSim.Region.CoreModules.Avatar.Gestures
|
||||||
{
|
{
|
||||||
public class GesturesModule : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GesturesModule")]
|
||||||
|
public class GesturesModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
protected Scene m_scene;
|
protected Scene m_scene;
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
public void Initialise(IConfigSource source)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
|
|
||||||
m_scene.EventManager.OnNewClient += OnNewClient;
|
m_scene.EventManager.OnNewClient += OnNewClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_scene.EventManager.OnNewClient -= OnNewClient;
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void PostInitialise() {}
|
|
||||||
public void Close() {}
|
public void Close() {}
|
||||||
public string Name { get { return "Gestures Module"; } }
|
public string Name { get { return "Gestures Module"; } }
|
||||||
public bool IsSharedModule { get { return false; } }
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
private void OnNewClient(IClientAPI client)
|
private void OnNewClient(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnActivateGesture += ActivateGesture;
|
client.OnActivateGesture += ActivateGesture;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -32,29 +33,59 @@ using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Gods
|
namespace OpenSim.Region.CoreModules.Avatar.Gods
|
||||||
{
|
{
|
||||||
public class GodsModule : IRegionModule, IGodsModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GodsModule")]
|
||||||
|
public class GodsModule : INonSharedRegionModule, IGodsModule
|
||||||
{
|
{
|
||||||
/// <summary>Special UUID for actions that apply to all agents</summary>
|
/// <summary>Special UUID for actions that apply to all agents</summary>
|
||||||
private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb");
|
private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb");
|
||||||
|
|
||||||
protected Scene m_scene;
|
protected Scene m_scene;
|
||||||
protected IDialogModule m_dialogModule;
|
protected IDialogModule m_dialogModule;
|
||||||
|
protected IDialogModule DialogModule
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_dialogModule == null)
|
||||||
|
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
|
||||||
|
|
||||||
|
return m_dialogModule;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource source)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
|
|
||||||
m_scene.RegisterModuleInterface<IGodsModule>(this);
|
m_scene.RegisterModuleInterface<IGodsModule>(this);
|
||||||
m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise() {}
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_scene.UnregisterModuleInterface<IGodsModule>(this);
|
||||||
|
m_scene.EventManager.OnNewClient -= SubscribeToClientEvents;
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void Close() {}
|
public void Close() {}
|
||||||
public string Name { get { return "Gods Module"; } }
|
public string Name { get { return "Gods Module"; } }
|
||||||
public bool IsSharedModule { get { return false; } }
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
public void SubscribeToClientEvents(IClientAPI client)
|
public void SubscribeToClientEvents(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnGodKickUser += KickUser;
|
client.OnGodKickUser += KickUser;
|
||||||
|
@ -96,8 +127,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_dialogModule != null)
|
if (DialogModule != null)
|
||||||
m_dialogModule.SendAlertToUser(agentID, "Request for god powers denied");
|
DialogModule.SendAlertToUser(agentID, "Request for god powers denied");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,7 +152,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
|
||||||
|
|
||||||
if (sp != null || agentID == kickUserID)
|
if (sp != null || agentID == kickUserID)
|
||||||
{
|
{
|
||||||
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
|
|
||||||
if (m_scene.Permissions.IsGod(godID))
|
if (m_scene.Permissions.IsGod(godID))
|
||||||
{
|
{
|
||||||
if (kickflags == 0)
|
if (kickflags == 0)
|
||||||
|
@ -163,27 +193,27 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
|
||||||
if (kickflags == 1)
|
if (kickflags == 1)
|
||||||
{
|
{
|
||||||
sp.AllowMovement = false;
|
sp.AllowMovement = false;
|
||||||
if (m_dialogModule != null)
|
if (DialogModule != null)
|
||||||
{
|
{
|
||||||
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
|
DialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
|
||||||
m_dialogModule.SendAlertToUser(godID, "User Frozen");
|
DialogModule.SendAlertToUser(godID, "User Frozen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kickflags == 2)
|
if (kickflags == 2)
|
||||||
{
|
{
|
||||||
sp.AllowMovement = true;
|
sp.AllowMovement = true;
|
||||||
if (m_dialogModule != null)
|
if (DialogModule != null)
|
||||||
{
|
{
|
||||||
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
|
DialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
|
||||||
m_dialogModule.SendAlertToUser(godID, "User Unfrozen");
|
DialogModule.SendAlertToUser(godID, "User Unfrozen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_dialogModule != null)
|
if (DialogModule != null)
|
||||||
m_dialogModule.SendAlertToUser(godID, "Kick request denied");
|
DialogModule.SendAlertToUser(godID, "Kick request denied");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
@ -34,9 +35,12 @@ using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Groups
|
namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
{
|
{
|
||||||
public class GroupsModule : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsModule")]
|
||||||
|
public class GroupsModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -55,9 +59,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
private static GroupMembershipData osGroup =
|
private static GroupMembershipData osGroup =
|
||||||
new GroupMembershipData();
|
new GroupMembershipData();
|
||||||
|
|
||||||
#region IRegionModule Members
|
private bool m_Enabled = false;
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
IConfig groupsConfig = config.Configs["Groups"];
|
IConfig groupsConfig = config.Configs["Groups"];
|
||||||
|
|
||||||
|
@ -67,7 +73,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!groupsConfig.GetBoolean("Enabled", false))
|
m_Enabled = groupsConfig.GetBoolean("Enabled", false);
|
||||||
|
if (!m_Enabled)
|
||||||
{
|
{
|
||||||
m_log.Info("[GROUPS]: Groups disabled in configuration");
|
m_log.Info("[GROUPS]: Groups disabled in configuration");
|
||||||
return;
|
return;
|
||||||
|
@ -77,6 +84,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!m_Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
lock (m_SceneList)
|
lock (m_SceneList)
|
||||||
{
|
{
|
||||||
if (!m_SceneList.Contains(scene))
|
if (!m_SceneList.Contains(scene))
|
||||||
|
@ -96,7 +110,26 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
|
|
||||||
scene.EventManager.OnNewClient += OnNewClient;
|
scene.EventManager.OnNewClient += OnNewClient;
|
||||||
scene.EventManager.OnClientClosed += OnClientClosed;
|
scene.EventManager.OnClientClosed += OnClientClosed;
|
||||||
// scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
|
// scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!m_Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
lock (m_SceneList)
|
||||||
|
{
|
||||||
|
if (m_SceneList.Contains(scene))
|
||||||
|
m_SceneList.Remove(scene);
|
||||||
|
}
|
||||||
|
|
||||||
|
scene.EventManager.OnNewClient -= OnNewClient;
|
||||||
|
scene.EventManager.OnClientClosed -= OnClientClosed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
|
@ -105,6 +138,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
|
if (!m_Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
// m_log.Debug("[GROUPS]: Shutting down group module.");
|
// m_log.Debug("[GROUPS]: Shutting down group module.");
|
||||||
|
|
||||||
lock (m_ClientMap)
|
lock (m_ClientMap)
|
||||||
|
@ -123,9 +159,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
|
||||||
get { return "GroupsModule"; }
|
get { return "GroupsModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -48,7 +48,7 @@ using OpenSim.Server.Handlers.Hypergrid;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGMessageTransferModule")]
|
||||||
public class HGMessageTransferModule : ISharedRegionModule, IMessageTransferModule, IInstantMessageSimConnector
|
public class HGMessageTransferModule : ISharedRegionModule, IMessageTransferModule, IInstantMessageSimConnector
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -28,6 +28,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -37,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "InstantMessageModule")]
|
||||||
public class InstantMessageModule : ISharedRegionModule
|
public class InstantMessageModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(
|
private static readonly ILog m_log = LogManager.GetLogger(
|
||||||
|
@ -49,7 +51,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
|
|
||||||
private readonly List<Scene> m_scenes = new List<Scene>();
|
private readonly List<Scene> m_scenes = new List<Scene>();
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region Region Module interface
|
||||||
|
|
||||||
private IMessageTransferModule m_TransferModule = null;
|
private IMessageTransferModule m_TransferModule = null;
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -43,6 +44,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MessageTransferModule")]
|
||||||
public class MessageTransferModule : ISharedRegionModule, IMessageTransferModule
|
public class MessageTransferModule : ISharedRegionModule, IMessageTransferModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Communications;
|
using OpenSim.Framework.Communications;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MuteListModule")]
|
||||||
public class MuteListModule : ISharedRegionModule
|
public class MuteListModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -28,6 +28,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "OfflineMessageModule")]
|
||||||
public class OfflineMessageModule : ISharedRegionModule
|
public class OfflineMessageModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -33,6 +33,7 @@ using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -42,6 +43,7 @@ using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "PresenceModule")]
|
||||||
public class PresenceModule : ISharedRegionModule, IPresenceModule
|
public class PresenceModule : ISharedRegionModule, IPresenceModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(
|
private static readonly ILog m_log = LogManager.GetLogger(
|
||||||
|
|
|
@ -39,20 +39,18 @@ using OpenSim.Framework.Console;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This module loads and saves OpenSimulator inventory archives
|
/// This module loads and saves OpenSimulator inventory archives
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class InventoryArchiverModule : IRegionModule, IInventoryArchiverModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "InventoryArchiverModule")]
|
||||||
|
public class InventoryArchiverModule : ISharedRegionModule, IInventoryArchiverModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
public string Name { get { return "Inventory Archiver Module"; } }
|
|
||||||
|
|
||||||
public bool IsSharedModule { get { return true; } }
|
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
/// Enable or disable checking whether the iar user is actually logged in
|
/// Enable or disable checking whether the iar user is actually logged in
|
||||||
/// </value>
|
/// </value>
|
||||||
|
@ -99,9 +97,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
// public InventoryArchiverModule(bool disablePresenceChecks)
|
// public InventoryArchiverModule(bool disablePresenceChecks)
|
||||||
// {
|
// {
|
||||||
// DisablePresenceChecks = disablePresenceChecks;
|
// DisablePresenceChecks = disablePresenceChecks;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
#region ISharedRegionModule
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource source)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
if (m_scenes.Count == 0)
|
if (m_scenes.Count == 0)
|
||||||
{
|
{
|
||||||
|
@ -144,10 +148,29 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
m_scenes[scene.RegionInfo.RegionID] = scene;
|
m_scenes[scene.RegionInfo.RegionID] = scene;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise() {}
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void Close() {}
|
public void Close() {}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PostInitialise()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name { get { return "Inventory Archiver Module"; } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Trigger the inventory archive saved event.
|
/// Trigger the inventory archive saved event.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -38,6 +39,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "InventoryTransferModule")]
|
||||||
public class InventoryTransferModule : ISharedRegionModule
|
public class InventoryTransferModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log
|
private static readonly ILog m_log
|
||||||
|
@ -51,7 +53,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
private IMessageTransferModule m_TransferModule = null;
|
private IMessageTransferModule m_TransferModule = null;
|
||||||
private bool m_Enabled = true;
|
private bool m_Enabled = true;
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
@ -298,73 +300,76 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX: This code was placed here to try and accomdate RLV which moves given folders named #RLV/~<name>
|
// Disabled for now as it looks like http://opensimulator.org/mantis/view.php?id=6311 was fixed by fixes
|
||||||
// to a folder called name in #RLV. However, this approach may not be ultimately correct - from analysis
|
// to inventory folder versioning allowing the viewer to move the received folder itself as happens on the
|
||||||
// of Firestorm 4.2.2 on sending an InventoryOffered instead of TaskInventoryOffered (as was previously
|
// LL grid. Doing it again server-side then wrongly does a second create and move
|
||||||
// done), the viewer itself would appear to move and rename the folder, rather than the simulator doing it here.
|
// // XXX: This code was placed here to try and accomdate RLV which moves given folders named #RLV/~<name>
|
||||||
else if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
|
// // to a folder called name in #RLV. However, this approach may not be ultimately correct - from analysis
|
||||||
{
|
// // of Firestorm 4.2.2 on sending an InventoryOffered instead of TaskInventoryOffered (as was previously
|
||||||
UUID destinationFolderID = UUID.Zero;
|
// // done), the viewer itself would appear to move and rename the folder, rather than the simulator doing it here.
|
||||||
|
// else if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
|
||||||
if (im.binaryBucket != null && im.binaryBucket.Length >= 16)
|
// {
|
||||||
{
|
// UUID destinationFolderID = UUID.Zero;
|
||||||
destinationFolderID = new UUID(im.binaryBucket, 0);
|
//
|
||||||
}
|
// if (im.binaryBucket != null && im.binaryBucket.Length >= 16)
|
||||||
|
// {
|
||||||
if (destinationFolderID != UUID.Zero)
|
// destinationFolderID = new UUID(im.binaryBucket, 0);
|
||||||
{
|
// }
|
||||||
InventoryFolderBase destinationFolder = new InventoryFolderBase(destinationFolderID, client.AgentId);
|
//
|
||||||
if (destinationFolder == null)
|
// if (destinationFolderID != UUID.Zero)
|
||||||
{
|
// {
|
||||||
m_log.WarnFormat(
|
// InventoryFolderBase destinationFolder = new InventoryFolderBase(destinationFolderID, client.AgentId);
|
||||||
"[INVENTORY TRANSFER]: TaskInventoryAccepted message from {0} in {1} specified folder {2} which does not exist",
|
// if (destinationFolder == null)
|
||||||
client.Name, scene.Name, destinationFolderID);
|
// {
|
||||||
|
// m_log.WarnFormat(
|
||||||
return;
|
// "[INVENTORY TRANSFER]: TaskInventoryAccepted message from {0} in {1} specified folder {2} which does not exist",
|
||||||
}
|
// client.Name, scene.Name, destinationFolderID);
|
||||||
|
//
|
||||||
IInventoryService invService = scene.InventoryService;
|
// return;
|
||||||
|
// }
|
||||||
UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip
|
//
|
||||||
|
// IInventoryService invService = scene.InventoryService;
|
||||||
InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId);
|
//
|
||||||
item = invService.GetItem(item);
|
// UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip
|
||||||
InventoryFolderBase folder = null;
|
//
|
||||||
UUID? previousParentFolderID = null;
|
// InventoryItemBase item = new InventoryItemBase(inventoryID, client.AgentId);
|
||||||
|
// item = invService.GetItem(item);
|
||||||
if (item != null) // It's an item
|
// InventoryFolderBase folder = null;
|
||||||
{
|
// UUID? previousParentFolderID = null;
|
||||||
previousParentFolderID = item.Folder;
|
//
|
||||||
item.Folder = destinationFolderID;
|
// if (item != null) // It's an item
|
||||||
|
// {
|
||||||
invService.DeleteItems(item.Owner, new List<UUID>() { item.ID });
|
// previousParentFolderID = item.Folder;
|
||||||
scene.AddInventoryItem(client, item);
|
// item.Folder = destinationFolderID;
|
||||||
}
|
//
|
||||||
else
|
// invService.DeleteItems(item.Owner, new List<UUID>() { item.ID });
|
||||||
{
|
// scene.AddInventoryItem(client, item);
|
||||||
folder = new InventoryFolderBase(inventoryID, client.AgentId);
|
// }
|
||||||
folder = invService.GetFolder(folder);
|
// else
|
||||||
|
// {
|
||||||
if (folder != null) // It's a folder
|
// folder = new InventoryFolderBase(inventoryID, client.AgentId);
|
||||||
{
|
// folder = invService.GetFolder(folder);
|
||||||
previousParentFolderID = folder.ParentID;
|
//
|
||||||
folder.ParentID = destinationFolderID;
|
// if (folder != null) // It's a folder
|
||||||
invService.MoveFolder(folder);
|
// {
|
||||||
}
|
// previousParentFolderID = folder.ParentID;
|
||||||
}
|
// folder.ParentID = destinationFolderID;
|
||||||
|
// invService.MoveFolder(folder);
|
||||||
// Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code).
|
// }
|
||||||
if (previousParentFolderID != null)
|
// }
|
||||||
{
|
//
|
||||||
InventoryFolderBase previousParentFolder
|
// // Tell client about updates to original parent and new parent (this should probably be factored with existing move item/folder code).
|
||||||
= new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId);
|
// if (previousParentFolderID != null)
|
||||||
previousParentFolder = invService.GetFolder(previousParentFolder);
|
// {
|
||||||
scene.SendInventoryUpdate(client, previousParentFolder, true, true);
|
// InventoryFolderBase previousParentFolder
|
||||||
|
// = new InventoryFolderBase((UUID)previousParentFolderID, client.AgentId);
|
||||||
scene.SendInventoryUpdate(client, destinationFolder, true, true);
|
// previousParentFolder = invService.GetFolder(previousParentFolder);
|
||||||
}
|
// scene.SendInventoryUpdate(client, previousParentFolder, true, true);
|
||||||
}
|
//
|
||||||
}
|
// scene.SendInventoryUpdate(client, destinationFolder, true, true);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
else if (
|
else if (
|
||||||
im.dialog == (byte)InstantMessageDialog.InventoryDeclined
|
im.dialog == (byte)InstantMessageDialog.InventoryDeclined
|
||||||
|| im.dialog == (byte)InstantMessageDialog.TaskInventoryDeclined)
|
|| im.dialog == (byte)InstantMessageDialog.TaskInventoryDeclined)
|
||||||
|
|
|
@ -42,7 +42,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Lure
|
namespace OpenSim.Region.CoreModules.Avatar.Lure
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGLureModule")]
|
||||||
public class HGLureModule : ISharedRegionModule
|
public class HGLureModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(
|
private static readonly ILog m_log = LogManager.GetLogger(
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -37,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Lure
|
namespace OpenSim.Region.CoreModules.Avatar.Lure
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LureModule")]
|
||||||
public class LureModule : ISharedRegionModule
|
public class LureModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(
|
private static readonly ILog m_log = LogManager.GetLogger(
|
||||||
|
|
|
@ -42,7 +42,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Avatar.Profile
|
namespace OpenSim.Region.CoreModules.Avatar.Profile
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "BasicProfileModule")]
|
||||||
public class BasicProfileModule : IProfileModule, ISharedRegionModule
|
public class BasicProfileModule : IProfileModule, ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -43,7 +43,7 @@ using Caps=OpenSim.Framework.Capabilities.Caps;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework
|
namespace OpenSim.Region.CoreModules.Framework
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CapabilitiesModule")]
|
||||||
public class CapabilitiesModule : INonSharedRegionModule, ICapabilitiesModule
|
public class CapabilitiesModule : INonSharedRegionModule, ICapabilitiesModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -43,9 +43,11 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "EntityTransferModule")]
|
||||||
public class EntityTransferModule : INonSharedRegionModule, IEntityTransferModule
|
public class EntityTransferModule : INonSharedRegionModule, IEntityTransferModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -42,9 +42,11 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGEntityTransferModule")]
|
||||||
public class HGEntityTransferModule
|
public class HGEntityTransferModule
|
||||||
: EntityTransferModule, INonSharedRegionModule, IEntityTransferModule, IUserAgentVerificationModule
|
: EntityTransferModule, INonSharedRegionModule, IEntityTransferModule, IUserAgentVerificationModule
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,9 +42,11 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGInventoryAccessModule")]
|
||||||
public class HGInventoryAccessModule : BasicInventoryAccessModule, INonSharedRegionModule, IInventoryAccessModule
|
public class HGInventoryAccessModule : BasicInventoryAccessModule, INonSharedRegionModule, IInventoryAccessModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -46,9 +46,11 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "BasicInventoryAccessModule")]
|
||||||
public class BasicInventoryAccessModule : INonSharedRegionModule, IInventoryAccessModule
|
public class BasicInventoryAccessModule : INonSharedRegionModule, IInventoryAccessModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -180,12 +182,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
if (!m_Scene.Permissions.CanCreateUserInventory(invType, remoteClient.AgentId))
|
if (!m_Scene.Permissions.CanCreateUserInventory(invType, remoteClient.AgentId))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
InventoryFolderBase f = new InventoryFolderBase(folderID, remoteClient.AgentId);
|
|
||||||
InventoryFolderBase folder = m_Scene.InventoryService.GetFolder(f);
|
|
||||||
|
|
||||||
if (folder == null || folder.Owner != remoteClient.AgentId)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (transactionID == UUID.Zero)
|
if (transactionID == UUID.Zero)
|
||||||
{
|
{
|
||||||
ScenePresence presence;
|
ScenePresence presence;
|
||||||
|
|
|
@ -41,10 +41,12 @@ using OpenSim.Server.Base;
|
||||||
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.Library
|
namespace OpenSim.Region.CoreModules.Framework.Library
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LibraryModule")]
|
||||||
public class LibraryModule : ISharedRegionModule
|
public class LibraryModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -38,10 +38,12 @@ using OpenSim.Region.CoreModules.Framework.Monitoring.Alerts;
|
||||||
using OpenSim.Region.CoreModules.Framework.Monitoring.Monitors;
|
using OpenSim.Region.CoreModules.Framework.Monitoring.Monitors;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
{
|
{
|
||||||
public class MonitorModule : IRegionModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MonitorModule")]
|
||||||
|
public class MonitorModule : INonSharedRegionModule
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Is this module enabled?
|
/// Is this module enabled?
|
||||||
|
@ -62,14 +64,14 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
private readonly List<IAlert> m_alerts = new List<IAlert>();
|
private readonly List<IAlert> m_alerts = new List<IAlert>();
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
#region Implementation of IRegionModule
|
|
||||||
|
|
||||||
public MonitorModule()
|
public MonitorModule()
|
||||||
{
|
{
|
||||||
Enabled = true;
|
Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
#region Implementation of INonSharedRegionModule
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource source)
|
||||||
{
|
{
|
||||||
IConfig cnfg = source.Configs["Monitoring"];
|
IConfig cnfg = source.Configs["Monitoring"];
|
||||||
|
|
||||||
|
@ -79,6 +81,13 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
if (!Enabled)
|
if (!Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
|
|
||||||
m_scene.AddCommand("General", this, "monitor report",
|
m_scene.AddCommand("General", this, "monitor report",
|
||||||
|
@ -89,101 +98,42 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID, StatsPage);
|
MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID, StatsPage);
|
||||||
MainServer.Instance.AddHTTPHandler(
|
MainServer.Instance.AddHTTPHandler(
|
||||||
"/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName), StatsPage);
|
"/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName), StatsPage);
|
||||||
|
|
||||||
|
AddMonitors();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DebugMonitors(string module, string[] args)
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
|
||||||
foreach (IMonitor monitor in m_staticMonitors)
|
|
||||||
{
|
|
||||||
MainConsole.Instance.OutputFormat(
|
|
||||||
"[MONITOR MODULE]: {0} reports {1} = {2}",
|
|
||||||
m_scene.RegionInfo.RegionName, monitor.GetFriendlyName(), monitor.GetFriendlyValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (KeyValuePair<string, float> tuple in m_scene.StatsReporter.GetExtraSimStats())
|
|
||||||
{
|
|
||||||
MainConsole.Instance.OutputFormat(
|
|
||||||
"[MONITOR MODULE]: {0} reports {1} = {2}",
|
|
||||||
m_scene.RegionInfo.RegionName, tuple.Key, tuple.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void TestAlerts()
|
|
||||||
{
|
|
||||||
foreach (IAlert alert in m_alerts)
|
|
||||||
{
|
|
||||||
alert.Test();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Hashtable StatsPage(Hashtable request)
|
|
||||||
{
|
|
||||||
// If request was for a specific monitor
|
|
||||||
// eg url/?monitor=Monitor.Name
|
|
||||||
if (request.ContainsKey("monitor"))
|
|
||||||
{
|
|
||||||
string monID = (string) request["monitor"];
|
|
||||||
|
|
||||||
foreach (IMonitor monitor in m_staticMonitors)
|
|
||||||
{
|
|
||||||
string elemName = monitor.ToString();
|
|
||||||
if (elemName.StartsWith(monitor.GetType().Namespace))
|
|
||||||
elemName = elemName.Substring(monitor.GetType().Namespace.Length + 1);
|
|
||||||
|
|
||||||
if (elemName == monID || monitor.ToString() == monID)
|
|
||||||
{
|
|
||||||
Hashtable ereply3 = new Hashtable();
|
|
||||||
|
|
||||||
ereply3["int_response_code"] = 404; // 200 OK
|
|
||||||
ereply3["str_response_string"] = monitor.GetValue().ToString();
|
|
||||||
ereply3["content_type"] = "text/plain";
|
|
||||||
|
|
||||||
return ereply3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME: Arguably this should also be done with dynamic monitors but I'm not sure what the above code
|
|
||||||
// is even doing. Why are we inspecting the type of the monitor???
|
|
||||||
|
|
||||||
// No monitor with that name
|
|
||||||
Hashtable ereply2 = new Hashtable();
|
|
||||||
|
|
||||||
ereply2["int_response_code"] = 404; // 200 OK
|
|
||||||
ereply2["str_response_string"] = "No such monitor";
|
|
||||||
ereply2["content_type"] = "text/plain";
|
|
||||||
|
|
||||||
return ereply2;
|
|
||||||
}
|
|
||||||
|
|
||||||
string xml = "<data>";
|
|
||||||
foreach (IMonitor monitor in m_staticMonitors)
|
|
||||||
{
|
|
||||||
string elemName = monitor.GetName();
|
|
||||||
xml += "<" + elemName + ">" + monitor.GetValue().ToString() + "</" + elemName + ">";
|
|
||||||
// m_log.DebugFormat("[MONITOR MODULE]: {0} = {1}", elemName, monitor.GetValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (KeyValuePair<string, float> tuple in m_scene.StatsReporter.GetExtraSimStats())
|
|
||||||
{
|
|
||||||
xml += "<" + tuple.Key + ">" + tuple.Value + "</" + tuple.Key + ">";
|
|
||||||
}
|
|
||||||
|
|
||||||
xml += "</data>";
|
|
||||||
|
|
||||||
Hashtable ereply = new Hashtable();
|
|
||||||
|
|
||||||
ereply["int_response_code"] = 200; // 200 OK
|
|
||||||
ereply["str_response_string"] = xml;
|
|
||||||
ereply["content_type"] = "text/xml";
|
|
||||||
|
|
||||||
return ereply;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void PostInitialise()
|
|
||||||
{
|
{
|
||||||
if (!Enabled)
|
if (!Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
MainServer.Instance.RemoveHTTPHandler("GET", "/monitorstats/" + m_scene.RegionInfo.RegionID);
|
||||||
|
MainServer.Instance.RemoveHTTPHandler("GET", "/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName));
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get { return "Region Health Monitoring Module"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public void AddMonitors()
|
||||||
|
{
|
||||||
m_staticMonitors.Add(new AgentCountMonitor(m_scene));
|
m_staticMonitors.Add(new AgentCountMonitor(m_scene));
|
||||||
m_staticMonitors.Add(new ChildAgentCountMonitor(m_scene));
|
m_staticMonitors.Add(new ChildAgentCountMonitor(m_scene));
|
||||||
m_staticMonitors.Add(new GCMemoryMonitor());
|
m_staticMonitors.Add(new GCMemoryMonitor());
|
||||||
|
@ -196,7 +146,7 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
m_staticMonitors.Add(new EventFrameMonitor(m_scene));
|
m_staticMonitors.Add(new EventFrameMonitor(m_scene));
|
||||||
m_staticMonitors.Add(new LandFrameMonitor(m_scene));
|
m_staticMonitors.Add(new LandFrameMonitor(m_scene));
|
||||||
m_staticMonitors.Add(new LastFrameTimeMonitor(m_scene));
|
m_staticMonitors.Add(new LastFrameTimeMonitor(m_scene));
|
||||||
|
|
||||||
m_staticMonitors.Add(
|
m_staticMonitors.Add(
|
||||||
new GenericMonitor(
|
new GenericMonitor(
|
||||||
m_scene,
|
m_scene,
|
||||||
|
@ -357,25 +307,98 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DebugMonitors(string module, string[] args)
|
||||||
|
{
|
||||||
|
foreach (IMonitor monitor in m_staticMonitors)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat(
|
||||||
|
"[MONITOR MODULE]: {0} reports {1} = {2}",
|
||||||
|
m_scene.RegionInfo.RegionName, monitor.GetFriendlyName(), monitor.GetFriendlyValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, float> tuple in m_scene.StatsReporter.GetExtraSimStats())
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat(
|
||||||
|
"[MONITOR MODULE]: {0} reports {1} = {2}",
|
||||||
|
m_scene.RegionInfo.RegionName, tuple.Key, tuple.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TestAlerts()
|
||||||
|
{
|
||||||
|
foreach (IAlert alert in m_alerts)
|
||||||
|
{
|
||||||
|
alert.Test();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Hashtable StatsPage(Hashtable request)
|
||||||
|
{
|
||||||
|
// If request was for a specific monitor
|
||||||
|
// eg url/?monitor=Monitor.Name
|
||||||
|
if (request.ContainsKey("monitor"))
|
||||||
|
{
|
||||||
|
string monID = (string) request["monitor"];
|
||||||
|
|
||||||
|
foreach (IMonitor monitor in m_staticMonitors)
|
||||||
|
{
|
||||||
|
string elemName = monitor.ToString();
|
||||||
|
if (elemName.StartsWith(monitor.GetType().Namespace))
|
||||||
|
elemName = elemName.Substring(monitor.GetType().Namespace.Length + 1);
|
||||||
|
|
||||||
|
if (elemName == monID || monitor.ToString() == monID)
|
||||||
|
{
|
||||||
|
Hashtable ereply3 = new Hashtable();
|
||||||
|
|
||||||
|
ereply3["int_response_code"] = 404; // 200 OK
|
||||||
|
ereply3["str_response_string"] = monitor.GetValue().ToString();
|
||||||
|
ereply3["content_type"] = "text/plain";
|
||||||
|
|
||||||
|
return ereply3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: Arguably this should also be done with dynamic monitors but I'm not sure what the above code
|
||||||
|
// is even doing. Why are we inspecting the type of the monitor???
|
||||||
|
|
||||||
|
// No monitor with that name
|
||||||
|
Hashtable ereply2 = new Hashtable();
|
||||||
|
|
||||||
|
ereply2["int_response_code"] = 404; // 200 OK
|
||||||
|
ereply2["str_response_string"] = "No such monitor";
|
||||||
|
ereply2["content_type"] = "text/plain";
|
||||||
|
|
||||||
|
return ereply2;
|
||||||
|
}
|
||||||
|
|
||||||
|
string xml = "<data>";
|
||||||
|
foreach (IMonitor monitor in m_staticMonitors)
|
||||||
|
{
|
||||||
|
string elemName = monitor.GetName();
|
||||||
|
xml += "<" + elemName + ">" + monitor.GetValue().ToString() + "</" + elemName + ">";
|
||||||
|
// m_log.DebugFormat("[MONITOR MODULE]: {0} = {1}", elemName, monitor.GetValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, float> tuple in m_scene.StatsReporter.GetExtraSimStats())
|
||||||
|
{
|
||||||
|
xml += "<" + tuple.Key + ">" + tuple.Value + "</" + tuple.Key + ">";
|
||||||
|
}
|
||||||
|
|
||||||
|
xml += "</data>";
|
||||||
|
|
||||||
|
Hashtable ereply = new Hashtable();
|
||||||
|
|
||||||
|
ereply["int_response_code"] = 200; // 200 OK
|
||||||
|
ereply["str_response_string"] = xml;
|
||||||
|
ereply["content_type"] = "text/xml";
|
||||||
|
|
||||||
|
return ereply;
|
||||||
|
}
|
||||||
|
|
||||||
void OnTriggerAlert(System.Type reporter, string reason, bool fatal)
|
void OnTriggerAlert(System.Type reporter, string reason, bool fatal)
|
||||||
{
|
{
|
||||||
m_log.Error("[Monitor] " + reporter.Name + " for " + m_scene.RegionInfo.RegionName + " reports " + reason + " (Fatal: " + fatal + ")");
|
m_log.Error("[Monitor] " + reporter.Name + " for " + m_scene.RegionInfo.RegionName + " reports " + reason + " (Fatal: " + fatal + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Name
|
|
||||||
{
|
|
||||||
get { return "Region Health Monitoring Module"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsSharedModule
|
|
||||||
{
|
|
||||||
get { return false; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,9 +41,11 @@ using OpenMetaverse;
|
||||||
using OpenMetaverse.Packets;
|
using OpenMetaverse.Packets;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGUserManagementModule")]
|
||||||
public class HGUserManagementModule : UserManagementModule, ISharedRegionModule, IUserManagement
|
public class HGUserManagementModule : UserManagementModule, ISharedRegionModule, IUserManagement
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -42,6 +42,7 @@ using OpenMetaverse;
|
||||||
using OpenMetaverse.Packets;
|
using OpenMetaverse.Packets;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
{
|
{
|
||||||
|
@ -54,6 +55,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
public Dictionary<string, object> ServerURLs { get; set; }
|
public Dictionary<string, object> ServerURLs { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "UserManagementModule")]
|
||||||
public class UserManagementModule : ISharedRegionModule, IUserManagement
|
public class UserManagementModule : ISharedRegionModule, IUserManagement
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -31,6 +31,7 @@ using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using Mono.Addins;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.CoreModules.World.WorldMap;
|
using OpenSim.Region.CoreModules.World.WorldMap;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -39,6 +40,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Hypergrid
|
namespace OpenSim.Region.CoreModules.Hypergrid
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGWorldMapModule")]
|
||||||
public class HGWorldMapModule : WorldMapModule
|
public class HGWorldMapModule : WorldMapModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -1,150 +0,0 @@
|
||||||
/*
|
|
||||||
* 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;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Net;
|
|
||||||
using System.Reflection;
|
|
||||||
using System.Text;
|
|
||||||
using log4net;
|
|
||||||
using Nini.Config;
|
|
||||||
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;
|
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.InterGrid
|
|
||||||
{
|
|
||||||
public class OGSRadmin : IRegionModule
|
|
||||||
{
|
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
|
||||||
private readonly List<Scene> m_scenes = new List<Scene>();
|
|
||||||
private IConfigSource m_settings;
|
|
||||||
|
|
||||||
#region Implementation of IRegionModuleBase
|
|
||||||
|
|
||||||
public string Name
|
|
||||||
{
|
|
||||||
get { return "OGS Supporting RAdmin"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void Initialise(IConfigSource source)
|
|
||||||
{
|
|
||||||
m_settings = source;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Close()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddRegion(Scene scene)
|
|
||||||
{
|
|
||||||
lock (m_scenes)
|
|
||||||
m_scenes.Add(scene);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
|
||||||
{
|
|
||||||
lock (m_scenes)
|
|
||||||
m_scenes.Remove(scene);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void RegionLoaded(Scene scene)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void PostInitialise()
|
|
||||||
{
|
|
||||||
if (m_settings.Configs["Startup"].GetBoolean("gridmode", false))
|
|
||||||
{
|
|
||||||
MainServer.Instance.AddXmlRPCHandler("grid_message", GridWideMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region IRegionModule
|
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource source)
|
|
||||||
{
|
|
||||||
m_settings = source;
|
|
||||||
|
|
||||||
lock (m_scenes)
|
|
||||||
m_scenes.Add(scene);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsSharedModule
|
|
||||||
{
|
|
||||||
get { return true; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public XmlRpcResponse GridWideMessage(XmlRpcRequest req, IPEndPoint remoteClient)
|
|
||||||
{
|
|
||||||
XmlRpcResponse response = new XmlRpcResponse();
|
|
||||||
Hashtable responseData = new Hashtable();
|
|
||||||
|
|
||||||
Hashtable requestData = (Hashtable)req.Params[0];
|
|
||||||
|
|
||||||
// REFACTORING PROBLEM. This authorization needs to be replaced with some other
|
|
||||||
//if ((!requestData.Contains("password") || (string)requestData["password"] != m_com.NetworkServersInfo.GridRecvKey))
|
|
||||||
//{
|
|
||||||
// responseData["accepted"] = false;
|
|
||||||
// responseData["success"] = false;
|
|
||||||
// responseData["error"] = "Invalid Key";
|
|
||||||
// response.Value = responseData;
|
|
||||||
// return response;
|
|
||||||
//}
|
|
||||||
|
|
||||||
string message = (string)requestData["message"];
|
|
||||||
string user = (string)requestData["user"];
|
|
||||||
m_log.InfoFormat("[RADMIN]: Broadcasting: {0}", message);
|
|
||||||
|
|
||||||
lock (m_scenes)
|
|
||||||
foreach (Scene scene in m_scenes)
|
|
||||||
{
|
|
||||||
IDialogModule dialogModule = scene.RequestModuleInterface<IDialogModule>();
|
|
||||||
if (dialogModule != null)
|
|
||||||
dialogModule.SendNotificationToUsersInRegion(UUID.Random(), user, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
responseData["accepted"] = true;
|
|
||||||
responseData["success"] = true;
|
|
||||||
response.Value = responseData;
|
|
||||||
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,38 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("OpenSim.Region.CoreModules")]
|
||||||
|
[assembly: AssemblyDescription("Core modules for OpenSim")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("OpenSim.Region.CoreModules.Properties")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2012")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("94f62dd1-bcf3-4218-9844-9a3996286e3e")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
|
|
||||||
|
[assembly: Addin("OpenSim.Region.CoreModules", "0.1")]
|
||||||
|
[assembly: AddinDependency("OpenSim", "0.5")]
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
<Addin id="OpenSim.Region.CoreModules" version="0.3">
|
|
||||||
<Runtime>
|
|
||||||
<Import assembly="OpenSim.Region.CoreModules.dll"/>
|
|
||||||
</Runtime>
|
|
||||||
|
|
||||||
<Dependencies>
|
|
||||||
<Addin id="OpenSim" version="0.5" />
|
|
||||||
</Dependencies>
|
|
||||||
|
|
||||||
<Extension path = "/OpenSim/RegionModules">
|
|
||||||
<RegionModule id="UserManagementModule" type="OpenSim.Region.CoreModules.Framework.UserManagement.UserManagementModule" />
|
|
||||||
<RegionModule id="HGUserManagementModule" type="OpenSim.Region.CoreModules.Framework.UserManagement.HGUserManagementModule" />
|
|
||||||
<RegionModule id="EntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule" />
|
|
||||||
<RegionModule id="HGEntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule" />
|
|
||||||
<RegionModule id="InventoryAccessModule" type="OpenSim.Region.CoreModules.Framework.InventoryAccess.BasicInventoryAccessModule" />
|
|
||||||
<RegionModule id="HGInventoryAccessModule" type="OpenSim.Region.CoreModules.Framework.InventoryAccess.HGInventoryAccessModule" />
|
|
||||||
<RegionModule id="LandManagementModule" type="OpenSim.Region.CoreModules.World.Land.LandManagementModule" />
|
|
||||||
<RegionModule id="DwellModule" type="OpenSim.Region.CoreModules.World.Land.DwellModule" />
|
|
||||||
<RegionModule id="PrimCountModule" type="OpenSim.Region.CoreModules.World.Land.PrimCountModule" />
|
|
||||||
<RegionModule id="ExportSerialisationModule" type="OpenSim.Region.CoreModules.World.Serialiser.SerialiserModule" />
|
|
||||||
<RegionModule id="ArchiverModule" type="OpenSim.Region.CoreModules.World.Archiver.ArchiverModule" />
|
|
||||||
<RegionModule id="TerrainModule" type="OpenSim.Region.CoreModules.World.Terrain.TerrainModule" />
|
|
||||||
<RegionModule id="WorldMapModule" type="OpenSim.Region.CoreModules.World.WorldMap.WorldMapModule" />
|
|
||||||
<RegionModule id="Warp3DImageModule" type="OpenSim.Region.CoreModules.World.Warp3DMap.Warp3DImageModule" />
|
|
||||||
<RegionModule id="HGWorldMapModule" type="OpenSim.Region.CoreModules.Hypergrid.HGWorldMapModule" />
|
|
||||||
<RegionModule id="UrlModule" type="OpenSim.Region.CoreModules.Scripting.LSLHttp.UrlModule" />
|
|
||||||
<RegionModule id="Chat" type="OpenSim.Region.CoreModules.Avatar.Chat.ChatModule" />
|
|
||||||
<RegionModule id="FriendsModule" type="OpenSim.Region.CoreModules.Avatar.Friends.FriendsModule" />
|
|
||||||
<RegionModule id="HGFriendsModule" type="OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule" />
|
|
||||||
<RegionModule id="PresenceModule" type="OpenSim.Region.CoreModules.Avatar.InstantMessage.PresenceModule" />
|
|
||||||
<RegionModule id="MuteListModule" type="OpenSim.Region.CoreModules.Avatar.InstantMessage.MuteListModule" />
|
|
||||||
<RegionModule id="OfflineMessageModule" type="OpenSim.Region.CoreModules.Avatar.InstantMessage.OfflineMessageModule" />
|
|
||||||
<RegionModule id="InstantMessageModule" type="OpenSim.Region.CoreModules.Avatar.InstantMessage.InstantMessageModule" />
|
|
||||||
<RegionModule id="MessageTransferModule" type="OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule" />
|
|
||||||
<RegionModule id="LureModule" type="OpenSim.Region.CoreModules.Avatar.Lure.LureModule" />
|
|
||||||
<RegionModule id="InventoryTransferModule" type="OpenSim.Region.CoreModules.Avatar.Inventory.Transfer.InventoryTransferModule" />
|
|
||||||
<RegionModule id="CoreAssetCache" type="OpenSim.Region.CoreModules.Asset.CoreAssetCache" />
|
|
||||||
<RegionModule id="GlynnTuckerAssetCache" type="OpenSim.Region.CoreModules.Asset.GlynnTuckerAssetCache" />
|
|
||||||
<RegionModule id="CenomeMemoryAssetCache" type="OpenSim.Region.CoreModules.Asset.CenomeMemoryAssetCache"/>
|
|
||||||
<RegionModule id="LibraryModule" type="OpenSim.Region.CoreModules.Framework.Library.LibraryModule"/>
|
|
||||||
<!-- Service connectors OUT modules -->
|
|
||||||
<RegionModule id="LocalAssetServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset.LocalAssetServicesConnector" />
|
|
||||||
<RegionModule id="RemoteAssetServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset.RemoteAssetServicesConnector" />
|
|
||||||
<RegionModule id="LocalAvatarServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar.LocalAvatarServicesConnector" />
|
|
||||||
<RegionModule id="RemoteAvatarServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar.RemoteAvatarServicesConnector" />
|
|
||||||
<RegionModule id="LocalAuthenticationServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication.LocalAuthenticationServicesConnector" />
|
|
||||||
<RegionModule id="RemoteAuthenticationServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication.RemoteAuthenticationServicesConnector" />
|
|
||||||
<RegionModule id="LocalAuthorizationServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization.LocalAuthorizationServicesConnector" />
|
|
||||||
<RegionModule id="RemoteAuthorizationServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization.RemoteAuthorizationServicesConnector" />
|
|
||||||
<RegionModule id="HGAssetBroker" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset.HGAssetBroker" />
|
|
||||||
<RegionModule id="LocalInventoryServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory.LocalInventoryServicesConnector" />
|
|
||||||
<RegionModule id="RemoteXInventoryServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory.RemoteXInventoryServicesConnector" />
|
|
||||||
<RegionModule id="HGInventoryBroker" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory.HGInventoryBroker" />
|
|
||||||
<RegionModule id="LocalNeighbourServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour.LocalNeighbourServicesConnector" />
|
|
||||||
<RegionModule id="RemoteNeighbourServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour.RemoteNeighbourServicesConnector" />
|
|
||||||
<RegionModule id="LocalLandServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Land.LocalLandServicesConnector" />
|
|
||||||
<RegionModule id="RemoteLandServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Land.RemoteLandServicesConnector" />
|
|
||||||
<RegionModule id="LocalGridServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid.LocalGridServicesConnector" />
|
|
||||||
<RegionModule id="RemoteGridServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid.RemoteGridServicesConnector" />
|
|
||||||
<RegionModule id="LocalPresenceServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence.LocalPresenceServicesConnector" />
|
|
||||||
<RegionModule id="RemotePresenceServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence.RemotePresenceServicesConnector" />
|
|
||||||
<RegionModule id="LocalUserAccountServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts.LocalUserAccountServicesConnector" />
|
|
||||||
<RegionModule id="RemoteUserAccountServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts.RemoteUserAccountServicesConnector" />
|
|
||||||
|
|
||||||
<RegionModule id="LocalGridUserServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser.LocalGridUserServicesConnector" />
|
|
||||||
<RegionModule id="RemoteGridUserServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser.RemoteGridUserServicesConnector" />
|
|
||||||
|
|
||||||
<RegionModule id="LocalSimulationConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation.LocalSimulationConnectorModule" />
|
|
||||||
<RegionModule id="RemoteSimulationConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation.RemoteSimulationConnectorModule" />
|
|
||||||
|
|
||||||
<!-- Service connectors IN modules -->
|
|
||||||
<RegionModule id="AssetServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Asset.AssetServiceInConnectorModule" />
|
|
||||||
<RegionModule id="InventoryServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory.InventoryServiceInConnectorModule" />
|
|
||||||
<RegionModule id="LandServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Land.LandServiceInConnectorModule" />
|
|
||||||
<RegionModule id="NeighbourServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Neighbour.NeighbourServiceInConnectorModule" /> \
|
|
||||||
<RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid.HypergridServiceInConnectorModule" /> \
|
|
||||||
<RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \
|
|
||||||
<RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \
|
|
||||||
<RegionModule id="GridInfoServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.GridInfoServiceInConnectorModule" /> \
|
|
||||||
<RegionModule id="AuthenticationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication.AuthenticationServiceInConnectorModule" />
|
|
||||||
<RegionModule id="AccessModule" type="OpenSim.Region.CoreModules.World.AccessModule" /> \
|
|
||||||
<RegionModule id="MapImageModule" type="OpenSim.Region.CoreModules.World.LegacyMap.MapImageModule" /> \
|
|
||||||
|
|
||||||
</Extension>
|
|
||||||
|
|
||||||
<Extension path = "/OpenSim/WindModule">
|
|
||||||
<WindModel id="ConfigurableWind" type="OpenSim.Region.CoreModules.World.Wind.Plugins.ConfigurableWind" />
|
|
||||||
<WindModel id="SimpleRandomWind" type="OpenSim.Region.CoreModules.World.Wind.Plugins.SimpleRandomWind" />
|
|
||||||
</Extension>
|
|
||||||
|
|
||||||
</Addin>
|
|
|
@ -37,10 +37,12 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
{
|
{
|
||||||
public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DynamicTextureModule")]
|
||||||
|
public class DynamicTextureModule : ISharedRegionModule, IDynamicTextureManager
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -81,6 +83,16 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
private Cache m_reuseableDynamicTextures;
|
private Cache m_reuseableDynamicTextures;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This constructor is only here because of the Unit Tests...
|
||||||
|
/// Don't use it.
|
||||||
|
/// </summary>
|
||||||
|
public DynamicTextureModule()
|
||||||
|
{
|
||||||
|
m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative);
|
||||||
|
m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
#region IDynamicTextureManager Members
|
#region IDynamicTextureManager Members
|
||||||
|
|
||||||
public void RegisterRender(string handleType, IDynamicTextureRender render)
|
public void RegisterRender(string handleType, IDynamicTextureRender render)
|
||||||
|
@ -323,17 +335,30 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
IConfig texturesConfig = config.Configs["Textures"];
|
IConfig texturesConfig = config.Configs["Textures"];
|
||||||
if (texturesConfig != null)
|
if (texturesConfig != null)
|
||||||
{
|
{
|
||||||
ReuseTextures = texturesConfig.GetBoolean("ReuseDynamicTextures", false);
|
ReuseTextures = texturesConfig.GetBoolean("ReuseDynamicTextures", false);
|
||||||
ReuseLowDataTextures = texturesConfig.GetBoolean("ReuseDynamicLowDataTextures", false);
|
ReuseLowDataTextures = texturesConfig.GetBoolean("ReuseDynamicLowDataTextures", false);
|
||||||
}
|
|
||||||
|
|
||||||
|
if (ReuseTextures)
|
||||||
|
{
|
||||||
|
m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative);
|
||||||
|
m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PostInitialise()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
|
if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
|
||||||
{
|
{
|
||||||
RegisteredScenes.Add(scene.RegionInfo.RegionID, scene);
|
RegisteredScenes.Add(scene.RegionInfo.RegionID, scene);
|
||||||
|
@ -341,13 +366,14 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void RegionLoaded(Scene scene)
|
||||||
{
|
{
|
||||||
if (ReuseTextures)
|
}
|
||||||
{
|
|
||||||
m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative);
|
public void RemoveRegion(Scene scene)
|
||||||
m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0);
|
{
|
||||||
}
|
if (RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
|
||||||
|
RegisteredScenes.Remove(scene.RegionInfo.RegionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
|
@ -359,9 +385,9 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
|
||||||
get { return "DynamicTextureModule"; }
|
get { return "DynamicTextureModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -37,10 +37,12 @@ using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
{
|
{
|
||||||
public class EmailModule : IRegionModule, IEmailModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "EmailModule")]
|
||||||
|
public class EmailModule : ISharedRegionModule, IEmailModule
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Log
|
// Log
|
||||||
|
@ -72,31 +74,9 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
|
|
||||||
private bool m_Enabled = false;
|
private bool m_Enabled = false;
|
||||||
|
|
||||||
public void InsertEmail(UUID to, Email email)
|
#region ISharedRegionModule
|
||||||
{
|
|
||||||
// It's tempting to create the queue here. Don't; objects which have
|
|
||||||
// not yet called GetNextEmail should have no queue, and emails to them
|
|
||||||
// should be silently dropped.
|
|
||||||
|
|
||||||
lock (m_MailQueues)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
|
||||||
if (m_MailQueues.ContainsKey(to))
|
|
||||||
{
|
|
||||||
if (m_MailQueues[to].Count >= m_MaxQueueSize)
|
|
||||||
{
|
|
||||||
// fail silently
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
lock (m_MailQueues[to])
|
|
||||||
{
|
|
||||||
m_MailQueues[to].Add(email);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
|
||||||
{
|
{
|
||||||
m_Config = config;
|
m_Config = config;
|
||||||
IConfig SMTPConfig;
|
IConfig SMTPConfig;
|
||||||
|
@ -129,36 +109,44 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT);
|
SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT);
|
||||||
SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN);
|
SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN);
|
||||||
SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD);
|
SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD);
|
||||||
m_MaxEmailSize = SMTPConfig.GetInt("email_max_size", m_MaxEmailSize);
|
m_MaxEmailSize = SMTPConfig.GetInt("email_max_size", m_MaxEmailSize);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.Error("[EMAIL] DefaultEmailModule not configured: "+ e.Message);
|
m_log.Error("[EMAIL] DefaultEmailModule not configured: " + e.Message);
|
||||||
m_Enabled = false;
|
m_Enabled = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// It's a go!
|
}
|
||||||
if (m_Enabled)
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!m_Enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// It's a go!
|
||||||
|
lock (m_Scenes)
|
||||||
{
|
{
|
||||||
lock (m_Scenes)
|
// Claim the interface slot
|
||||||
|
scene.RegisterModuleInterface<IEmailModule>(this);
|
||||||
|
|
||||||
|
// Add to scene list
|
||||||
|
if (m_Scenes.ContainsKey(scene.RegionInfo.RegionHandle))
|
||||||
{
|
{
|
||||||
// Claim the interface slot
|
m_Scenes[scene.RegionInfo.RegionHandle] = scene;
|
||||||
scene.RegisterModuleInterface<IEmailModule>(this);
|
}
|
||||||
|
else
|
||||||
// Add to scene list
|
{
|
||||||
if (m_Scenes.ContainsKey(scene.RegionInfo.RegionHandle))
|
m_Scenes.Add(scene.RegionInfo.RegionHandle, scene);
|
||||||
{
|
|
||||||
m_Scenes[scene.RegionInfo.RegionHandle] = scene;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_Scenes.Add(scene.RegionInfo.RegionHandle, scene);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.Info("[EMAIL] Activated DefaultEmailModule");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_log.Info("[EMAIL] Activated DefaultEmailModule");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
|
@ -174,9 +162,39 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
get { return "DefaultEmailModule"; }
|
get { return "DefaultEmailModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public void InsertEmail(UUID to, Email email)
|
||||||
|
{
|
||||||
|
// It's tempting to create the queue here. Don't; objects which have
|
||||||
|
// not yet called GetNextEmail should have no queue, and emails to them
|
||||||
|
// should be silently dropped.
|
||||||
|
|
||||||
|
lock (m_MailQueues)
|
||||||
|
{
|
||||||
|
if (m_MailQueues.ContainsKey(to))
|
||||||
|
{
|
||||||
|
if (m_MailQueues[to].Count >= m_MaxQueueSize)
|
||||||
|
{
|
||||||
|
// fail silently
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lock (m_MailQueues[to])
|
||||||
|
{
|
||||||
|
m_MailQueues[to].Add(email);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsLocal(UUID objectID)
|
private bool IsLocal(UUID objectID)
|
||||||
|
|
|
@ -41,6 +41,7 @@ using OpenSim.Framework.Servers;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
*
|
*
|
||||||
|
@ -87,7 +88,8 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
{
|
{
|
||||||
public class HttpRequestModule : IRegionModule, IHttpRequestModule
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HttpRequestModule")]
|
||||||
|
public class HttpRequestModule : ISharedRegionModule, IHttpRequestModule
|
||||||
{
|
{
|
||||||
private object HttpListLock = new object();
|
private object HttpListLock = new object();
|
||||||
private int httpTimeout = 30000;
|
private int httpTimeout = 30000;
|
||||||
|
@ -270,24 +272,38 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
|
||||||
|
|
||||||
m_scene.RegisterModuleInterface<IHttpRequestModule>(this);
|
|
||||||
|
|
||||||
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
|
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
|
||||||
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
|
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
|
||||||
|
|
||||||
m_pendingRequests = new Dictionary<UUID, HttpRequestClass>();
|
m_pendingRequests = new Dictionary<UUID, HttpRequestClass>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_scene = scene;
|
||||||
|
|
||||||
|
m_scene.RegisterModuleInterface<IHttpRequestModule>(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
scene.UnregisterModuleInterface<IHttpRequestModule>(this);
|
||||||
|
if (scene == m_scene)
|
||||||
|
m_scene = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -297,9 +313,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
get { return m_name; }
|
get { return m_name; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -31,6 +31,7 @@ using System.Collections.Generic;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -94,6 +95,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This module provides external URLs for in-world scripts.
|
/// This module provides external URLs for in-world scripts.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "UrlModule")]
|
||||||
public class UrlModule : ISharedRegionModule, IUrlModule
|
public class UrlModule : ISharedRegionModule, IUrlModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -37,10 +37,12 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
{
|
{
|
||||||
public class LoadImageURLModule : IRegionModule, IDynamicTextureRender
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LoadImageURLModule")]
|
||||||
|
public class LoadImageURLModule : ISharedRegionModule, IDynamicTextureRender
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -104,22 +106,32 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
if (m_scene == null)
|
|
||||||
{
|
|
||||||
m_scene = scene;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
|
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
|
||||||
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
|
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
if (m_scene != null)
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene == null)
|
||||||
|
m_scene = scene;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_textureManager == null && m_scene == scene)
|
||||||
{
|
{
|
||||||
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
||||||
if (m_textureManager != null)
|
if (m_textureManager != null)
|
||||||
|
@ -138,9 +150,9 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
get { return m_name; }
|
get { return m_name; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -172,6 +184,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
|
|
||||||
private void HttpRequestReturn(IAsyncResult result)
|
private void HttpRequestReturn(IAsyncResult result)
|
||||||
{
|
{
|
||||||
|
if (m_textureManager == null)
|
||||||
|
{
|
||||||
|
m_log.WarnFormat("[LOADIMAGEURLMODULE]: No texture manager. Can't function.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
RequestState state = (RequestState) result.AsyncState;
|
RequestState state = (RequestState) result.AsyncState;
|
||||||
WebRequest request = (WebRequest) state.Request;
|
WebRequest request = (WebRequest) state.Request;
|
||||||
Stream stream = null;
|
Stream stream = null;
|
||||||
|
|
|
@ -38,7 +38,7 @@ using OpenMetaverse;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
|
|
||||||
namespace OpenSim.Region.OptionalModules.Scripting.ScriptModuleComms
|
namespace OpenSim.Region.CoreModules.Scripting.ScriptModuleComms
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ScriptModuleCommsModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ScriptModuleCommsModule")]
|
||||||
class ScriptModuleCommsModule : INonSharedRegionModule, IScriptModuleComms
|
class ScriptModuleCommsModule : INonSharedRegionModule, IScriptModuleComms
|
||||||
|
|
|
@ -40,12 +40,14 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
//using Cairo;
|
//using Cairo;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
||||||
{
|
{
|
||||||
public class VectorRenderModule : IRegionModule, IDynamicTextureRender
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "VectorRenderModule")]
|
||||||
|
public class VectorRenderModule : ISharedRegionModule, IDynamicTextureRender
|
||||||
{
|
{
|
||||||
// These fields exist for testing purposes, please do not remove.
|
// These fields exist for testing purposes, please do not remove.
|
||||||
// private static bool s_flipper;
|
// private static bool s_flipper;
|
||||||
|
@ -56,6 +58,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
||||||
|
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
private IDynamicTextureManager m_textureManager;
|
private IDynamicTextureManager m_textureManager;
|
||||||
|
|
||||||
private Graphics m_graph;
|
private Graphics m_graph;
|
||||||
private string m_fontName = "Arial";
|
private string m_fontName = "Arial";
|
||||||
|
|
||||||
|
@ -103,6 +106,11 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
||||||
|
|
||||||
public bool AsyncConvertData(UUID id, string bodyData, string extraParams)
|
public bool AsyncConvertData(UUID id, string bodyData, string extraParams)
|
||||||
{
|
{
|
||||||
|
if (m_textureManager == null)
|
||||||
|
{
|
||||||
|
m_log.Warn("[VECTORRENDERMODULE]: No texture manager. Can't function");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// XXX: This isn't actually being done asynchronously!
|
// XXX: This isn't actually being done asynchronously!
|
||||||
m_textureManager.ReturnData(id, ConvertData(bodyData, extraParams));
|
m_textureManager.ReturnData(id, ConvertData(bodyData, extraParams));
|
||||||
|
|
||||||
|
@ -131,45 +139,49 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
if (m_scene == null)
|
|
||||||
{
|
|
||||||
m_scene = scene;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_graph == null)
|
|
||||||
{
|
|
||||||
// We won't dispose of these explicitly since this module is only removed when the entire simulator
|
|
||||||
// is shut down.
|
|
||||||
Bitmap bitmap = new Bitmap(1024, 1024, PixelFormat.Format32bppArgb);
|
|
||||||
m_graph = Graphics.FromImage(bitmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
IConfig cfg = config.Configs["VectorRender"];
|
IConfig cfg = config.Configs["VectorRender"];
|
||||||
if (null != cfg)
|
if (null != cfg)
|
||||||
{
|
{
|
||||||
m_fontName = cfg.GetString("font_name", m_fontName);
|
m_fontName = cfg.GetString("font_name", m_fontName);
|
||||||
}
|
}
|
||||||
m_log.DebugFormat("[VECTORRENDERMODULE]: using font \"{0}\" for text rendering.", m_fontName);
|
m_log.DebugFormat("[VECTORRENDERMODULE]: using font \"{0}\" for text rendering.", m_fontName);
|
||||||
|
|
||||||
|
// We won't dispose of these explicitly since this module is only removed when the entire simulator
|
||||||
|
// is shut down.
|
||||||
|
Bitmap bitmap = new Bitmap(1024, 1024, PixelFormat.Format32bppArgb);
|
||||||
|
m_graph = Graphics.FromImage(bitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
}
|
||||||
if (m_textureManager != null)
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (m_scene == null)
|
||||||
{
|
{
|
||||||
m_textureManager.RegisterRender(GetContentType(), this);
|
m_scene = scene;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This code exists for testing purposes, please do not remove.
|
public void RegionLoaded(Scene scene)
|
||||||
// s_asset1Data = m_scene.AssetService.Get("00000000-0000-1111-9999-000000000001").Data;
|
{
|
||||||
// s_asset1Data = m_scene.AssetService.Get("9f4acf0d-1841-4e15-bdb8-3a12efc9dd8f").Data;
|
if (m_textureManager == null && m_scene == scene)
|
||||||
|
{
|
||||||
|
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
||||||
|
if (m_textureManager != null)
|
||||||
|
{
|
||||||
|
m_textureManager.RegisterRender(GetContentType(), this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Terrain dirt - smallest bin/assets file (6004 bytes)
|
public void RemoveRegion(Scene scene)
|
||||||
// s_asset2Data = m_scene.AssetService.Get("b8d3965a-ad78-bf43-699b-bff8eca6c975").Data;
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
|
@ -181,9 +193,9 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
|
||||||
get { return "VectorRenderModule"; }
|
get { return "VectorRenderModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -29,8 +29,12 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -86,7 +90,8 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
public class WorldCommModule : IRegionModule, IWorldComm
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "WorldCommModule")]
|
||||||
|
public class WorldCommModule : IWorldComm, INonSharedRegionModule
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log =
|
// private static readonly ILog m_log =
|
||||||
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -99,9 +104,9 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
private int m_saydistance = 20;
|
private int m_saydistance = 20;
|
||||||
private int m_shoutdistance = 100;
|
private int m_shoutdistance = 100;
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region INonSharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
// wrap this in a try block so that defaults will work if
|
// wrap this in a try block so that defaults will work if
|
||||||
// the config file doesn't specify otherwise.
|
// the config file doesn't specify otherwise.
|
||||||
|
@ -109,23 +114,23 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
int maxhandles = 64;
|
int maxhandles = 64;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance);
|
m_whisperdistance = config.Configs["Chat"].GetInt(
|
||||||
m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance);
|
"whisper_distance", m_whisperdistance);
|
||||||
m_shoutdistance = config.Configs["Chat"].GetInt("shout_distance", m_shoutdistance);
|
m_saydistance = config.Configs["Chat"].GetInt(
|
||||||
maxlisteners = config.Configs["LL-Functions"].GetInt("max_listens_per_region", maxlisteners);
|
"say_distance", m_saydistance);
|
||||||
maxhandles = config.Configs["LL-Functions"].GetInt("max_listens_per_script", maxhandles);
|
m_shoutdistance = config.Configs["Chat"].GetInt(
|
||||||
|
"shout_distance", m_shoutdistance);
|
||||||
|
maxlisteners = config.Configs["LL-Functions"].GetInt(
|
||||||
|
"max_listens_per_region", maxlisteners);
|
||||||
|
maxhandles = config.Configs["LL-Functions"].GetInt(
|
||||||
|
"max_listens_per_script", maxhandles);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
if (maxlisteners < 1) maxlisteners = int.MaxValue;
|
if (maxlisteners < 1) maxlisteners = int.MaxValue;
|
||||||
if (maxhandles < 1) maxhandles = int.MaxValue;
|
if (maxhandles < 1) maxhandles = int.MaxValue;
|
||||||
|
|
||||||
m_scene = scene;
|
|
||||||
m_scene.RegisterModuleInterface<IWorldComm>(this);
|
|
||||||
m_listenerManager = new ListenerManager(maxlisteners, maxhandles);
|
m_listenerManager = new ListenerManager(maxlisteners, maxhandles);
|
||||||
m_scene.EventManager.OnChatFromClient += DeliverClientMessage;
|
|
||||||
m_scene.EventManager.OnChatBroadcast += DeliverClientMessage;
|
|
||||||
m_pendingQ = new Queue();
|
m_pendingQ = new Queue();
|
||||||
m_pending = Queue.Synchronized(m_pendingQ);
|
m_pending = Queue.Synchronized(m_pendingQ);
|
||||||
}
|
}
|
||||||
|
@ -134,6 +139,26 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_scene = scene;
|
||||||
|
m_scene.RegisterModuleInterface<IWorldComm>(this);
|
||||||
|
m_scene.EventManager.OnChatFromClient += DeliverClientMessage;
|
||||||
|
m_scene.EventManager.OnChatBroadcast += DeliverClientMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene) { }
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (scene != m_scene)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_scene.UnregisterModuleInterface<IWorldComm>(this);
|
||||||
|
m_scene.EventManager.OnChatBroadcast -= DeliverClientMessage;
|
||||||
|
m_scene.EventManager.OnChatBroadcast -= DeliverClientMessage;
|
||||||
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -143,10 +168,7 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
get { return "WorldCommModule"; }
|
get { return "WorldCommModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface { get { return null; } }
|
||||||
{
|
|
||||||
get { return false; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -255,7 +277,7 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
|
|
||||||
if ((source = m_scene.GetSceneObjectPart(id)) != null)
|
if ((source = m_scene.GetSceneObjectPart(id)) != null)
|
||||||
position = source.AbsolutePosition;
|
position = source.AbsolutePosition;
|
||||||
else if ((avatar = m_scene.GetScenePresence(id)) != null)
|
else if ((avatar = m_scene.GetScenePresence(id)) != null)
|
||||||
position = avatar.AbsolutePosition;
|
position = avatar.AbsolutePosition;
|
||||||
else if (ChatTypeEnum.Region == type)
|
else if (ChatTypeEnum.Region == type)
|
||||||
position = CenterOfRegion;
|
position = CenterOfRegion;
|
||||||
|
@ -278,7 +300,8 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
/// <param name="name">name of sender (object or avatar)</param>
|
/// <param name="name">name of sender (object or avatar)</param>
|
||||||
/// <param name="id">key of sender (object or avatar)</param>
|
/// <param name="id">key of sender (object or avatar)</param>
|
||||||
/// <param name="msg">msg to sent</param>
|
/// <param name="msg">msg to sent</param>
|
||||||
public void DeliverMessage(ChatTypeEnum type, int channel, string name, UUID id, string msg, Vector3 position)
|
public void DeliverMessage(ChatTypeEnum type, int channel,
|
||||||
|
string name, UUID id, string msg, Vector3 position)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[WorldComm] got[2] type {0}, channel {1}, name {2}, id {3}, msg {4}",
|
// m_log.DebugFormat("[WorldComm] got[2] type {0}, channel {1}, name {2}, id {3}, msg {4}",
|
||||||
// type, channel, name, id, msg);
|
// type, channel, name, id, msg);
|
||||||
|
@ -286,17 +309,21 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
// Determine which listen event filters match the given set of arguments, this results
|
// Determine which listen event filters match the given set of arguments, this results
|
||||||
// in a limited set of listeners, each belonging a host. If the host is in range, add them
|
// in a limited set of listeners, each belonging a host. If the host is in range, add them
|
||||||
// to the pending queue.
|
// to the pending queue.
|
||||||
foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg))
|
foreach (ListenerInfo li
|
||||||
|
in m_listenerManager.GetListeners(UUID.Zero, channel,
|
||||||
|
name, id, msg))
|
||||||
{
|
{
|
||||||
// Dont process if this message is from yourself!
|
// Dont process if this message is from yourself!
|
||||||
if (li.GetHostID().Equals(id))
|
if (li.GetHostID().Equals(id))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SceneObjectPart sPart = m_scene.GetSceneObjectPart(li.GetHostID());
|
SceneObjectPart sPart = m_scene.GetSceneObjectPart(
|
||||||
|
li.GetHostID());
|
||||||
if (sPart == null)
|
if (sPart == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
double dis = Util.GetDistanceTo(sPart.AbsolutePosition, position);
|
double dis = Util.GetDistanceTo(sPart.AbsolutePosition,
|
||||||
|
position);
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ChatTypeEnum.Whisper:
|
case ChatTypeEnum.Whisper:
|
||||||
|
@ -339,14 +366,16 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
/// <param name='msg'>
|
/// <param name='msg'>
|
||||||
/// Message.
|
/// Message.
|
||||||
/// </param>
|
/// </param>
|
||||||
public void DeliverMessageTo(UUID target, int channel, Vector3 pos, string name, UUID id, string msg)
|
public void DeliverMessageTo(UUID target, int channel, Vector3 pos,
|
||||||
|
string name, UUID id, string msg)
|
||||||
{
|
{
|
||||||
// Is id an avatar?
|
// Is id an avatar?
|
||||||
ScenePresence sp = m_scene.GetScenePresence(target);
|
ScenePresence sp = m_scene.GetScenePresence(target);
|
||||||
|
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
{
|
{
|
||||||
// ignore if a child agent this is restricted to inside one region
|
// ignore if a child agent this is restricted to inside one
|
||||||
|
// region
|
||||||
if (sp.IsChildAgent)
|
if (sp.IsChildAgent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -355,8 +384,9 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
// non zero channel messages only go to the attachments
|
// non zero channel messages only go to the attachments
|
||||||
if (channel == 0)
|
if (channel == 0)
|
||||||
{
|
{
|
||||||
m_scene.SimChatToAgent(target, Utils.StringToBytes(msg), pos, name, id, false);
|
m_scene.SimChatToAgent(target, Utils.StringToBytes(msg),
|
||||||
}
|
pos, name, id, false);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
List<SceneObjectGroup> attachments = sp.GetAttachments();
|
List<SceneObjectGroup> attachments = sp.GetAttachments();
|
||||||
|
@ -372,13 +402,18 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
}
|
}
|
||||||
|
|
||||||
// Need to check each attachment
|
// Need to check each attachment
|
||||||
foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg))
|
foreach (ListenerInfo li
|
||||||
|
in m_listenerManager.GetListeners(UUID.Zero,
|
||||||
|
channel, name, id, msg))
|
||||||
{
|
{
|
||||||
if (li.GetHostID().Equals(id))
|
if (li.GetHostID().Equals(id))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (m_scene.GetSceneObjectPart(li.GetHostID()) == null)
|
if (m_scene.GetSceneObjectPart(
|
||||||
|
li.GetHostID()) == null)
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (targets.Contains(li.GetHostID()))
|
if (targets.Contains(li.GetHostID()))
|
||||||
QueueMessage(new ListenerInfo(li, name, id, msg));
|
QueueMessage(new ListenerInfo(li, name, id, msg));
|
||||||
|
@ -389,17 +424,20 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
}
|
}
|
||||||
|
|
||||||
// No avatar found so look for an object
|
// No avatar found so look for an object
|
||||||
foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg))
|
foreach (ListenerInfo li
|
||||||
|
in m_listenerManager.GetListeners(UUID.Zero, channel,
|
||||||
|
name, id, msg))
|
||||||
{
|
{
|
||||||
// Dont process if this message is from yourself!
|
// Dont process if this message is from yourself!
|
||||||
if (li.GetHostID().Equals(id))
|
if (li.GetHostID().Equals(id))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SceneObjectPart sPart = m_scene.GetSceneObjectPart(li.GetHostID());
|
SceneObjectPart sPart = m_scene.GetSceneObjectPart(
|
||||||
|
li.GetHostID());
|
||||||
if (sPart == null)
|
if (sPart == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ( li.GetHostID().Equals(target))
|
if (li.GetHostID().Equals(target))
|
||||||
{
|
{
|
||||||
QueueMessage(new ListenerInfo(li, name, id, msg));
|
QueueMessage(new ListenerInfo(li, name, id, msg));
|
||||||
break;
|
break;
|
||||||
|
@ -453,9 +491,15 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
private void DeliverClientMessage(Object sender, OSChatMessage e)
|
private void DeliverClientMessage(Object sender, OSChatMessage e)
|
||||||
{
|
{
|
||||||
if (null != e.Sender)
|
if (null != e.Sender)
|
||||||
DeliverMessage(e.Type, e.Channel, e.Sender.Name, e.Sender.AgentId, e.Message, e.Position);
|
{
|
||||||
|
DeliverMessage(e.Type, e.Channel, e.Sender.Name,
|
||||||
|
e.Sender.AgentId, e.Message, e.Position);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
DeliverMessage(e.Type, e.Channel, e.From, UUID.Zero, e.Message, e.Position);
|
{
|
||||||
|
DeliverMessage(e.Type, e.Channel, e.From, UUID.Zero,
|
||||||
|
e.Message, e.Position);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object[] GetSerializationData(UUID itemID)
|
public Object[] GetSerializationData(UUID itemID)
|
||||||
|
@ -472,7 +516,8 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
|
|
||||||
public class ListenerManager
|
public class ListenerManager
|
||||||
{
|
{
|
||||||
private Dictionary<int, List<ListenerInfo>> m_listeners = new Dictionary<int, List<ListenerInfo>>();
|
private Dictionary<int, List<ListenerInfo>> m_listeners =
|
||||||
|
new Dictionary<int, List<ListenerInfo>>();
|
||||||
private int m_maxlisteners;
|
private int m_maxlisteners;
|
||||||
private int m_maxhandles;
|
private int m_maxhandles;
|
||||||
private int m_curlisteners;
|
private int m_curlisteners;
|
||||||
|
@ -530,14 +575,15 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
itemID, hostID, channel, name, id, msg,
|
itemID, hostID, channel, name, id, msg,
|
||||||
regexBitfield);
|
regexBitfield);
|
||||||
|
|
||||||
List<ListenerInfo> listeners;
|
List<ListenerInfo> listeners;
|
||||||
if (!m_listeners.TryGetValue(channel,out listeners))
|
if (!m_listeners.TryGetValue(
|
||||||
{
|
channel, out listeners))
|
||||||
listeners = new List<ListenerInfo>();
|
{
|
||||||
m_listeners.Add(channel, listeners);
|
listeners = new List<ListenerInfo>();
|
||||||
}
|
m_listeners.Add(channel, listeners);
|
||||||
listeners.Add(li);
|
}
|
||||||
m_curlisteners++;
|
listeners.Add(li);
|
||||||
|
m_curlisteners++;
|
||||||
|
|
||||||
return newHandle;
|
return newHandle;
|
||||||
}
|
}
|
||||||
|
@ -550,11 +596,13 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<int,List<ListenerInfo>> lis in m_listeners)
|
foreach (KeyValuePair<int, List<ListenerInfo>> lis
|
||||||
|
in m_listeners)
|
||||||
{
|
{
|
||||||
foreach (ListenerInfo li in lis.Value)
|
foreach (ListenerInfo li in lis.Value)
|
||||||
{
|
{
|
||||||
if (li.GetItemID().Equals(itemID) && li.GetHandle().Equals(handle))
|
if (li.GetItemID().Equals(itemID) &&
|
||||||
|
li.GetHandle().Equals(handle))
|
||||||
{
|
{
|
||||||
lis.Value.Remove(li);
|
lis.Value.Remove(li);
|
||||||
if (lis.Value.Count == 0)
|
if (lis.Value.Count == 0)
|
||||||
|
@ -577,13 +625,15 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
|
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<int,List<ListenerInfo>> lis in m_listeners)
|
foreach (KeyValuePair<int, List<ListenerInfo>> lis
|
||||||
|
in m_listeners)
|
||||||
{
|
{
|
||||||
foreach (ListenerInfo li in lis.Value)
|
foreach (ListenerInfo li in lis.Value)
|
||||||
{
|
{
|
||||||
if (li.GetItemID().Equals(itemID))
|
if (li.GetItemID().Equals(itemID))
|
||||||
{
|
{
|
||||||
// store them first, else the enumerated bails on us
|
// store them first, else the enumerated bails on
|
||||||
|
// us
|
||||||
removedListeners.Add(li);
|
removedListeners.Add(li);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -610,11 +660,13 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<int,List<ListenerInfo>> lis in m_listeners)
|
foreach (KeyValuePair<int, List<ListenerInfo>> lis
|
||||||
|
in m_listeners)
|
||||||
{
|
{
|
||||||
foreach (ListenerInfo li in lis.Value)
|
foreach (ListenerInfo li in lis.Value)
|
||||||
{
|
{
|
||||||
if (li.GetItemID().Equals(itemID) && li.GetHandle() == handle)
|
if (li.GetItemID().Equals(itemID) &&
|
||||||
|
li.GetHandle() == handle)
|
||||||
{
|
{
|
||||||
li.Activate();
|
li.Activate();
|
||||||
// only one, bail out
|
// only one, bail out
|
||||||
|
@ -629,11 +681,13 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<int,List<ListenerInfo>> lis in m_listeners)
|
foreach (KeyValuePair<int, List<ListenerInfo>> lis
|
||||||
|
in m_listeners)
|
||||||
{
|
{
|
||||||
foreach (ListenerInfo li in lis.Value)
|
foreach (ListenerInfo li in lis.Value)
|
||||||
{
|
{
|
||||||
if (li.GetItemID().Equals(itemID) && li.GetHandle() == handle)
|
if (li.GetItemID().Equals(itemID) &&
|
||||||
|
li.GetHandle() == handle)
|
||||||
{
|
{
|
||||||
li.Deactivate();
|
li.Deactivate();
|
||||||
// only one, bail out
|
// only one, bail out
|
||||||
|
@ -644,19 +698,24 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// non-locked access, since its always called in the context of the lock
|
/// <summary>
|
||||||
|
/// non-locked access, since its always called in the context of the
|
||||||
|
/// lock
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="itemID"></param>
|
||||||
|
/// <returns></returns>
|
||||||
private int GetNewHandle(UUID itemID)
|
private int GetNewHandle(UUID itemID)
|
||||||
{
|
{
|
||||||
List<int> handles = new List<int>();
|
List<int> handles = new List<int>();
|
||||||
|
|
||||||
// build a list of used keys for this specific itemID...
|
// build a list of used keys for this specific itemID...
|
||||||
foreach (KeyValuePair<int,List<ListenerInfo>> lis in m_listeners)
|
foreach (KeyValuePair<int, List<ListenerInfo>> lis in m_listeners)
|
||||||
{
|
{
|
||||||
foreach (ListenerInfo li in lis.Value)
|
foreach (ListenerInfo li in lis.Value)
|
||||||
{
|
{
|
||||||
if (li.GetItemID().Equals(itemID))
|
if (li.GetItemID().Equals(itemID))
|
||||||
handles.Add(li.GetHandle());
|
handles.Add(li.GetHandle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: 0 is NOT a valid handle for llListen() to return
|
// Note: 0 is NOT a valid handle for llListen() to return
|
||||||
|
@ -685,17 +744,30 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// Theres probably a more clever and efficient way to
|
/// <summary>
|
||||||
// do this, maybe with regex.
|
/// Get listeners matching the input parameters.
|
||||||
// PM2008: Ha, one could even be smart and define a specialized Enumerator.
|
/// </summary>
|
||||||
public List<ListenerInfo> GetListeners(UUID itemID, int channel, string name, UUID id, string msg)
|
/// <remarks>
|
||||||
|
/// Theres probably a more clever and efficient way to do this, maybe
|
||||||
|
/// with regex.
|
||||||
|
/// PM2008: Ha, one could even be smart and define a specialized
|
||||||
|
/// Enumerator.
|
||||||
|
/// </remarks>
|
||||||
|
/// <param name="itemID"></param>
|
||||||
|
/// <param name="channel"></param>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<ListenerInfo> GetListeners(UUID itemID, int channel,
|
||||||
|
string name, UUID id, string msg)
|
||||||
{
|
{
|
||||||
List<ListenerInfo> collection = new List<ListenerInfo>();
|
List<ListenerInfo> collection = new List<ListenerInfo>();
|
||||||
|
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
List<ListenerInfo> listeners;
|
List<ListenerInfo> listeners;
|
||||||
if (!m_listeners.TryGetValue(channel,out listeners))
|
if (!m_listeners.TryGetValue(channel, out listeners))
|
||||||
{
|
{
|
||||||
return collection;
|
return collection;
|
||||||
}
|
}
|
||||||
|
@ -706,7 +778,8 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!itemID.Equals(UUID.Zero) && !li.GetItemID().Equals(itemID))
|
if (!itemID.Equals(UUID.Zero) &&
|
||||||
|
!li.GetItemID().Equals(itemID))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -771,28 +844,68 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
lock (m_listeners)
|
lock (m_listeners)
|
||||||
{
|
{
|
||||||
if (!m_listeners.ContainsKey((int)item[2]))
|
if (!m_listeners.ContainsKey((int)item[2]))
|
||||||
m_listeners.Add((int)item[2], new List<ListenerInfo>());
|
{
|
||||||
|
m_listeners.Add((int)item[2],
|
||||||
|
new List<ListenerInfo>());
|
||||||
|
}
|
||||||
m_listeners[(int)item[2]].Add(info);
|
m_listeners[(int)item[2]].Add(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
idx+=dataItemLength;
|
idx += dataItemLength;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ListenerInfo : IWorldCommListenerInfo
|
public class ListenerInfo : IWorldCommListenerInfo
|
||||||
{
|
{
|
||||||
private bool m_active; // Listener is active or not
|
/// <summary>
|
||||||
private int m_handle; // Assigned handle of this listener
|
/// Listener is active or not
|
||||||
private uint m_localID; // Local ID from script engine
|
/// </summary>
|
||||||
private UUID m_itemID; // ID of the host script engine
|
private bool m_active;
|
||||||
private UUID m_hostID; // ID of the host/scene part
|
|
||||||
private int m_channel; // Channel
|
|
||||||
private UUID m_id; // ID to filter messages from
|
|
||||||
private string m_name; // Object name to filter messages from
|
|
||||||
private string m_message; // The message
|
|
||||||
|
|
||||||
public ListenerInfo(int handle, uint localID, UUID ItemID, UUID hostID, int channel, string name, UUID id, string message)
|
/// <summary>
|
||||||
|
/// Assigned handle of this listener
|
||||||
|
/// </summary>
|
||||||
|
private int m_handle;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Local ID from script engine
|
||||||
|
/// </summary>
|
||||||
|
private uint m_localID;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID of the host script engine
|
||||||
|
/// </summary>
|
||||||
|
private UUID m_itemID;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID of the host/scene part
|
||||||
|
/// </summary>
|
||||||
|
private UUID m_hostID;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Channel
|
||||||
|
/// </summary>
|
||||||
|
private int m_channel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID to filter messages from
|
||||||
|
/// </summary>
|
||||||
|
private UUID m_id;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Object name to filter messages from
|
||||||
|
/// </summary>
|
||||||
|
private string m_name;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The message
|
||||||
|
/// </summary>
|
||||||
|
private string m_message;
|
||||||
|
|
||||||
|
public ListenerInfo(int handle, uint localID, UUID ItemID,
|
||||||
|
UUID hostID, int channel, string name, UUID id,
|
||||||
|
string message)
|
||||||
{
|
{
|
||||||
Initialise(handle, localID, ItemID, hostID, channel, name, id,
|
Initialise(handle, localID, ItemID, hostID, channel, name, id,
|
||||||
message, 0);
|
message, 0);
|
||||||
|
@ -806,17 +919,23 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
message, regexBitfield);
|
message, regexBitfield);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ListenerInfo(ListenerInfo li, string name, UUID id, string message)
|
public ListenerInfo(ListenerInfo li, string name, UUID id,
|
||||||
|
string message)
|
||||||
{
|
{
|
||||||
Initialise(li.m_handle, li.m_localID, li.m_itemID, li.m_hostID, li.m_channel, name, id, message, 0);
|
Initialise(li.m_handle, li.m_localID, li.m_itemID, li.m_hostID,
|
||||||
|
li.m_channel, name, id, message, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ListenerInfo(ListenerInfo li, string name, UUID id, string message, int regexBitfield)
|
public ListenerInfo(ListenerInfo li, string name, UUID id,
|
||||||
|
string message, int regexBitfield)
|
||||||
{
|
{
|
||||||
Initialise(li.m_handle, li.m_localID, li.m_itemID, li.m_hostID, li.m_channel, name, id, message, regexBitfield);
|
Initialise(li.m_handle, li.m_localID, li.m_itemID, li.m_hostID,
|
||||||
|
li.m_channel, name, id, message, regexBitfield);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Initialise(int handle, uint localID, UUID ItemID, UUID hostID, int channel, string name, UUID id, string message, int regexBitfield)
|
private void Initialise(int handle, uint localID, UUID ItemID,
|
||||||
|
UUID hostID, int channel, string name, UUID id,
|
||||||
|
string message, int regexBitfield)
|
||||||
{
|
{
|
||||||
m_active = true;
|
m_active = true;
|
||||||
m_handle = handle;
|
m_handle = handle;
|
||||||
|
@ -845,9 +964,12 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ListenerInfo FromData(uint localID, UUID ItemID, UUID hostID, Object[] data)
|
public static ListenerInfo FromData(uint localID, UUID ItemID,
|
||||||
|
UUID hostID, Object[] data)
|
||||||
{
|
{
|
||||||
ListenerInfo linfo = new ListenerInfo((int)data[1], localID, ItemID, hostID, (int)data[2], (string)data[3], (UUID)data[4], (string)data[5]);
|
ListenerInfo linfo = new ListenerInfo((int)data[1], localID,
|
||||||
|
ItemID, hostID, (int)data[2], (string)data[3],
|
||||||
|
(UUID)data[4], (string)data[5]);
|
||||||
linfo.m_active = (bool)data[0];
|
linfo.m_active = (bool)data[0];
|
||||||
if (data.Length >= 7)
|
if (data.Length >= 7)
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,6 +40,7 @@ using OpenSim.Framework.Servers;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
*
|
*
|
||||||
|
@ -76,7 +77,8 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
{
|
{
|
||||||
public class XMLRPCModule : IRegionModule, IXMLRPC
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "XMLRPCModule")]
|
||||||
|
public class XMLRPCModule : ISharedRegionModule, IXMLRPC
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -86,6 +88,10 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
private Dictionary<UUID, RPCChannelInfo> m_openChannels;
|
private Dictionary<UUID, RPCChannelInfo> m_openChannels;
|
||||||
private Dictionary<UUID, SendRemoteDataRequest> m_pendingSRDResponses;
|
private Dictionary<UUID, SendRemoteDataRequest> m_pendingSRDResponses;
|
||||||
private int m_remoteDataPort = 0;
|
private int m_remoteDataPort = 0;
|
||||||
|
public int Port
|
||||||
|
{
|
||||||
|
get { return m_remoteDataPort; }
|
||||||
|
}
|
||||||
|
|
||||||
private Dictionary<UUID, RPCRequestInfo> m_rpcPending;
|
private Dictionary<UUID, RPCRequestInfo> m_rpcPending;
|
||||||
private Dictionary<UUID, RPCRequestInfo> m_rpcPendingResponses;
|
private Dictionary<UUID, RPCRequestInfo> m_rpcPendingResponses;
|
||||||
|
@ -94,34 +100,24 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
private int RemoteReplyScriptWait = 300;
|
private int RemoteReplyScriptWait = 300;
|
||||||
private object XMLRPCListLock = new object();
|
private object XMLRPCListLock = new object();
|
||||||
|
|
||||||
#region IRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
|
|
||||||
public void Initialise(Scene scene, IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
// We need to create these early because the scripts might be calling
|
// We need to create these early because the scripts might be calling
|
||||||
// But since this gets called for every region, we need to make sure they
|
// But since this gets called for every region, we need to make sure they
|
||||||
// get called only one time (or we lose any open channels)
|
// get called only one time (or we lose any open channels)
|
||||||
if (null == m_openChannels)
|
m_openChannels = new Dictionary<UUID, RPCChannelInfo>();
|
||||||
{
|
m_rpcPending = new Dictionary<UUID, RPCRequestInfo>();
|
||||||
m_openChannels = new Dictionary<UUID, RPCChannelInfo>();
|
m_rpcPendingResponses = new Dictionary<UUID, RPCRequestInfo>();
|
||||||
m_rpcPending = new Dictionary<UUID, RPCRequestInfo>();
|
m_pendingSRDResponses = new Dictionary<UUID, SendRemoteDataRequest>();
|
||||||
m_rpcPendingResponses = new Dictionary<UUID, RPCRequestInfo>();
|
|
||||||
m_pendingSRDResponses = new Dictionary<UUID, SendRemoteDataRequest>();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort);
|
m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort);
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
catch (Exception)
|
||||||
if (!m_scenes.Contains(scene))
|
|
||||||
{
|
{
|
||||||
m_scenes.Add(scene);
|
|
||||||
|
|
||||||
scene.RegisterModuleInterface<IXMLRPC>(this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,15 +127,44 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
{
|
{
|
||||||
// Start http server
|
// Start http server
|
||||||
// Attach xmlrpc handlers
|
// Attach xmlrpc handlers
|
||||||
// m_log.InfoFormat(
|
// m_log.InfoFormat(
|
||||||
// "[XML RPC MODULE]: Starting up XMLRPC Server on port {0} for llRemoteData commands.",
|
// "[XML RPC MODULE]: Starting up XMLRPC Server on port {0} for llRemoteData commands.",
|
||||||
// m_remoteDataPort);
|
// m_remoteDataPort);
|
||||||
|
|
||||||
IHttpServer httpServer = MainServer.GetHttpServer((uint)m_remoteDataPort);
|
IHttpServer httpServer = MainServer.GetHttpServer((uint)m_remoteDataPort);
|
||||||
httpServer.AddXmlRPCHandler("llRemoteData", XmlRpcRemoteData);
|
httpServer.AddXmlRPCHandler("llRemoteData", XmlRpcRemoteData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!IsEnabled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!m_scenes.Contains(scene))
|
||||||
|
{
|
||||||
|
m_scenes.Add(scene);
|
||||||
|
|
||||||
|
scene.RegisterModuleInterface<IXMLRPC>(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
if (!IsEnabled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_scenes.Contains(scene))
|
||||||
|
{
|
||||||
|
scene.UnregisterModuleInterface<IXMLRPC>(this);
|
||||||
|
m_scenes.Remove(scene);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -149,14 +174,9 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
get { return m_name; }
|
get { return m_name; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return null; }
|
||||||
}
|
|
||||||
|
|
||||||
public int Port
|
|
||||||
{
|
|
||||||
get { return m_remoteDataPort; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Server.Handlers.Base;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Asset
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Asset
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AssetServiceInConnectorModule")]
|
||||||
public class AssetServiceInConnectorModule : ISharedRegionModule
|
public class AssetServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -47,7 +49,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Asset
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
bool m_Registered = false;
|
bool m_Registered = false;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -41,6 +42,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AuthenticationServiceInConnectorModule")]
|
||||||
public class AuthenticationServiceInConnectorModule : ISharedRegionModule
|
public class AuthenticationServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -49,7 +51,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
bool m_Registered = false;
|
bool m_Registered = false;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -41,6 +42,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GridInfoServiceInConnectorModule")]
|
||||||
public class GridInfoServiceInConnectorModule : ISharedRegionModule
|
public class GridInfoServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -49,7 +51,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
bool m_Registered = false;
|
bool m_Registered = false;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -42,6 +43,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HypergridServiceInConnectorModule")]
|
||||||
public class HypergridServiceInConnectorModule : ISharedRegionModule
|
public class HypergridServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -53,7 +55,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid
|
||||||
private GatekeeperServiceInConnector m_HypergridHandler;
|
private GatekeeperServiceInConnector m_HypergridHandler;
|
||||||
private UserAgentServerConnector m_UASHandler;
|
private UserAgentServerConnector m_UASHandler;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Server.Handlers.Base;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "InventoryServiceInConnectorModule")]
|
||||||
public class InventoryServiceInConnectorModule : ISharedRegionModule
|
public class InventoryServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -47,7 +49,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
bool m_Registered = false;
|
bool m_Registered = false;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -42,6 +43,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LandServiceInConnectorModule")]
|
||||||
public class LandServiceInConnectorModule : ISharedRegionModule, ILandService
|
public class LandServiceInConnectorModule : ISharedRegionModule, ILandService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -51,7 +53,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
private List<Scene> m_Scenes = new List<Scene>();
|
private List<Scene> m_Scenes = new List<Scene>();
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -42,6 +43,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Login
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Login
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LLLoginServiceInConnectorModule")]
|
||||||
public class LLLoginServiceInConnectorModule : ISharedRegionModule
|
public class LLLoginServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -51,7 +53,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Login
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
private List<Scene> m_Scenes = new List<Scene>();
|
private List<Scene> m_Scenes = new List<Scene>();
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.MapImage
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.MapImage
|
||||||
{
|
{
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MapImageServiceInConnectorModule")]
|
||||||
public class MapImageServiceInConnectorModule : ISharedRegionModule
|
public class MapImageServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -50,7 +50,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.MapImage
|
||||||
|
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -41,6 +42,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Neighbour
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Neighbour
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "NeighbourServiceInConnectorModule")]
|
||||||
public class NeighbourServiceInConnectorModule : ISharedRegionModule, INeighbourService
|
public class NeighbourServiceInConnectorModule : ISharedRegionModule, INeighbourService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -50,7 +52,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Neighbour
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
private List<Scene> m_Scenes = new List<Scene>();
|
private List<Scene> m_Scenes = new List<Scene>();
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers;
|
using OpenSim.Framework.Servers;
|
||||||
|
@ -40,7 +41,7 @@ using OpenSim.Server.Handlers.Base;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation
|
||||||
{
|
{
|
||||||
// Under construction
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SimulationServiceInConnectorModule")]
|
||||||
public class SimulationServiceInConnectorModule : ISharedRegionModule
|
public class SimulationServiceInConnectorModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
@ -49,7 +50,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation
|
||||||
private IConfigSource m_Config;
|
private IConfigSource m_Config;
|
||||||
bool m_Registered = false;
|
bool m_Registered = false;
|
||||||
|
|
||||||
#region IRegionModule interface
|
#region Region Module interface
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -40,8 +41,8 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
||||||
{
|
{
|
||||||
public class HGAssetBroker :
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGAssetBroker")]
|
||||||
ISharedRegionModule, IAssetService
|
public class HGAssetBroker : ISharedRegionModule, IAssetService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
LogManager.GetLogger(
|
LogManager.GetLogger(
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -38,6 +39,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalAssetServicesConnector")]
|
||||||
public class LocalAssetServicesConnector : ISharedRegionModule, IAssetService
|
public class LocalAssetServicesConnector : ISharedRegionModule, IAssetService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -38,6 +39,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteAssetServicesConnector")]
|
||||||
public class RemoteAssetServicesConnector :
|
public class RemoteAssetServicesConnector :
|
||||||
AssetServicesConnector, ISharedRegionModule, IAssetService
|
AssetServicesConnector, ISharedRegionModule, IAssetService
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -39,6 +40,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalAuthenticationServicesConnector")]
|
||||||
public class LocalAuthenticationServicesConnector : ISharedRegionModule, IAuthenticationService
|
public class LocalAuthenticationServicesConnector : ISharedRegionModule, IAuthenticationService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
using System;
|
using System;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -36,6 +37,7 @@ using OpenSim.Services.Connectors;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteAuthenticationServicesConnector")]
|
||||||
public class RemoteAuthenticationServicesConnector : AuthenticationServicesConnector,
|
public class RemoteAuthenticationServicesConnector : AuthenticationServicesConnector,
|
||||||
ISharedRegionModule, IAuthenticationService
|
ISharedRegionModule, IAuthenticationService
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -39,6 +40,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalAuthorizationServicesConnector")]
|
||||||
public class LocalAuthorizationServicesConnector : INonSharedRegionModule, IAuthorizationService
|
public class LocalAuthorizationServicesConnector : INonSharedRegionModule, IAuthorizationService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -39,6 +40,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteAuthorizationServicesConnector")]
|
||||||
public class RemoteAuthorizationServicesConnector :
|
public class RemoteAuthorizationServicesConnector :
|
||||||
AuthorizationServicesConnector, ISharedRegionModule, IAuthorizationService
|
AuthorizationServicesConnector, ISharedRegionModule, IAuthorizationService
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
@ -40,6 +41,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalAvatarServicesConnector")]
|
||||||
public class LocalAvatarServicesConnector : ISharedRegionModule, IAvatarService
|
public class LocalAvatarServicesConnector : ISharedRegionModule, IAvatarService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -36,6 +37,7 @@ using OpenSim.Services.Connectors;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteAvatarServicesConnector")]
|
||||||
public class RemoteAvatarServicesConnector : AvatarServicesConnector,
|
public class RemoteAvatarServicesConnector : AvatarServicesConnector,
|
||||||
ISharedRegionModule, IAvatarService
|
ISharedRegionModule, IAvatarService
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -41,6 +42,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalGridServicesConnector")]
|
||||||
public class LocalGridServicesConnector : ISharedRegionModule, IGridService
|
public class LocalGridServicesConnector : ISharedRegionModule, IGridService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -42,6 +43,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteGridServicesConnector")]
|
||||||
public class RemoteGridServicesConnector : ISharedRegionModule, IGridService
|
public class RemoteGridServicesConnector : ISharedRegionModule, IGridService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -39,6 +40,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalGridUserServicesConnector")]
|
||||||
public class LocalGridUserServicesConnector : ISharedRegionModule, IGridUserService
|
public class LocalGridUserServicesConnector : ISharedRegionModule, IGridUserService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -36,10 +36,12 @@ using OpenSim.Services.Connectors;
|
||||||
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteGridUserServicesConnector")]
|
||||||
public class RemoteGridUserServicesConnector : ISharedRegionModule, IGridUserService
|
public class RemoteGridUserServicesConnector : ISharedRegionModule, IGridUserService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -42,6 +43,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "HGInventoryBroker")]
|
||||||
public class HGInventoryBroker : ISharedRegionModule, IInventoryService
|
public class HGInventoryBroker : ISharedRegionModule, IInventoryService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
@ -41,6 +42,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalInventoryServicesConnector")]
|
||||||
public class LocalInventoryServicesConnector : ISharedRegionModule, IInventoryService
|
public class LocalInventoryServicesConnector : ISharedRegionModule, IInventoryService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -29,6 +29,7 @@ using log4net;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Monitoring;
|
using OpenSim.Framework.Monitoring;
|
||||||
|
@ -40,6 +41,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteXInventoryServicesConnector")]
|
||||||
public class RemoteXInventoryServicesConnector : ISharedRegionModule, IInventoryService
|
public class RemoteXInventoryServicesConnector : ISharedRegionModule, IInventoryService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -39,8 +40,8 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
{
|
{
|
||||||
public class LocalLandServicesConnector :
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalLandServicesConnector")]
|
||||||
ISharedRegionModule, ILandService
|
public class LocalLandServicesConnector : ISharedRegionModule, ILandService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
LogManager.GetLogger(
|
LogManager.GetLogger(
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -41,6 +42,7 @@ using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteLandServicesConnector")]
|
||||||
public class RemoteLandServicesConnector :
|
public class RemoteLandServicesConnector :
|
||||||
LandServicesConnector, ISharedRegionModule, ILandService
|
LandServicesConnector, ISharedRegionModule, ILandService
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
|
||||||
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "MapImageServiceModule")]
|
||||||
public class MapImageServiceModule : ISharedRegionModule
|
public class MapImageServiceModule : ISharedRegionModule
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log =
|
private static readonly ILog m_log =
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalNeighbourServicesConnector")]
|
||||||
public class LocalNeighbourServicesConnector :
|
public class LocalNeighbourServicesConnector :
|
||||||
ISharedRegionModule, INeighbourService
|
ISharedRegionModule, INeighbourService
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -39,6 +40,7 @@ using OpenSim.Server.Base;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteNeighbourServicesConnector")]
|
||||||
public class RemoteNeighbourServicesConnector :
|
public class RemoteNeighbourServicesConnector :
|
||||||
NeighbourServicesConnector, ISharedRegionModule, INeighbourService
|
NeighbourServicesConnector, ISharedRegionModule, INeighbourService
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,10 +36,12 @@ using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
|
||||||
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalPresenceServicesConnector")]
|
||||||
public class LocalPresenceServicesConnector : ISharedRegionModule, IPresenceService
|
public class LocalPresenceServicesConnector : ISharedRegionModule, IPresenceService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
|
@ -37,10 +37,12 @@ using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
|
||||||
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using Mono.Addins;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
|
||||||
{
|
{
|
||||||
|
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemotePresenceServicesConnector")]
|
||||||
public class RemotePresenceServicesConnector : ISharedRegionModule, IPresenceService
|
public class RemotePresenceServicesConnector : ISharedRegionModule, IPresenceService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue