Some annotations for refactoring
parent
0fedc13fe6
commit
0b96019c5e
|
@ -43,7 +43,9 @@ using log4net;
|
||||||
using Mono.Addins;
|
using Mono.Addins;
|
||||||
using Ux = OpenSim.Services.IntegrationService.IntegrationUtils;
|
using Ux = OpenSim.Services.IntegrationService.IntegrationUtils;
|
||||||
|
|
||||||
|
// ****[ Robust ] Keep the core services here and rebrand it as a more generic
|
||||||
|
// ****[ Robust ] service for use in buthe OpenSim.exe and Robust.exe
|
||||||
|
//
|
||||||
namespace OpenSim.Services.IntegrationService
|
namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
public class IntegrationService : IntegrationServiceBase, IIntegrationService
|
public class IntegrationService : IntegrationServiceBase, IIntegrationService
|
||||||
|
@ -62,6 +64,12 @@ namespace OpenSim.Services.IntegrationService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ****[ Robust ] We have console commands to manage the repositories and modules.
|
||||||
|
// ****[ Robust ] We can add/remove/enable/disable repositories and modules
|
||||||
|
// ****[ Robust ] We can query repositories for available modules and updates
|
||||||
|
// ****[ Robust ] The manager needs to be moved to OpenSim.Framework so we can
|
||||||
|
// ****[ Robust ] use it to complete the region module loader
|
||||||
|
//
|
||||||
// Our console commands
|
// Our console commands
|
||||||
private void AddConsoleCommands()
|
private void AddConsoleCommands()
|
||||||
{
|
{
|
||||||
|
@ -348,6 +356,10 @@ namespace OpenSim.Services.IntegrationService
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
// ****[ Robust ] These are handlers that relate to the console commands, but
|
||||||
|
// ****[ Robust ] are connecting to remote applications. It would be ok to do
|
||||||
|
// ****[ Robust ] this later in a separate module
|
||||||
|
//
|
||||||
#region IIntegrationService implementation
|
#region IIntegrationService implementation
|
||||||
// Will hold back on implementing things here that can actually make changes
|
// Will hold back on implementing things here that can actually make changes
|
||||||
// Need to secure it first
|
// Need to secure it first
|
||||||
|
|
|
@ -39,9 +39,18 @@ using Mono.Addins;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Ux = OpenSim.Services.IntegrationService.IntegrationUtils;
|
using Ux = OpenSim.Services.IntegrationService.IntegrationUtils;
|
||||||
|
|
||||||
|
|
||||||
|
// ****[ Robust ] Re-factor to use in both OpenSim.exe and Robust.exe
|
||||||
|
// ****[ Robust ] ** Loading can be done in modules that overide a base
|
||||||
|
// ****[ Robust ] ** class that provides the base services for the
|
||||||
|
// ****[ Robust ] ** discovery, loading and event queing of the modules
|
||||||
|
|
||||||
|
|
||||||
|
// ****[ Robust ] We need to define our root to graft our modules into
|
||||||
[assembly:AddinRoot("IntegrationService", "2.1")]
|
[assembly:AddinRoot("IntegrationService", "2.1")]
|
||||||
namespace OpenSim.Services.IntegrationService
|
namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
|
// ****[ Robust ] The name our modules look for as a dependency
|
||||||
[TypeExtensionPoint(Path="/OpenSim/IntegrationService", Name="IntegrationService")]
|
[TypeExtensionPoint(Path="/OpenSim/IntegrationService", Name="IntegrationService")]
|
||||||
public interface IntegrationPlugin
|
public interface IntegrationPlugin
|
||||||
{
|
{
|
||||||
|
@ -84,6 +93,11 @@ namespace OpenSim.Services.IntegrationService
|
||||||
AddinRegistry registry ;
|
AddinRegistry registry ;
|
||||||
bool DEVELOPMENT = serverConfig.GetBoolean("DevelopmentMode", false);
|
bool DEVELOPMENT = serverConfig.GetBoolean("DevelopmentMode", false);
|
||||||
|
|
||||||
|
// ****[ Robust ] Would be able to load as a local Robust module,
|
||||||
|
// ****[ Robust ] during development, by adding the info to the
|
||||||
|
// ****[ Robust ] ServiceConnectors. Also allows modules to be
|
||||||
|
// ****[ Robust ] loaded locally under normal operations
|
||||||
|
//
|
||||||
// Are we developing plugins? We will load them now.
|
// Are we developing plugins? We will load them now.
|
||||||
// This will allow debugging of the modules and will
|
// This will allow debugging of the modules and will
|
||||||
// use the runtime directory for the registry. Will not
|
// use the runtime directory for the registry. Will not
|
||||||
|
@ -119,6 +133,12 @@ namespace OpenSim.Services.IntegrationService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ****[ Robust ] Place this in a loader that getsd called from
|
||||||
|
// Robust after the main server is running
|
||||||
|
//
|
||||||
|
// ****[ Robust ] Make generic version of this to be overridden
|
||||||
|
// ****[ Robust ] by OpenSim.exe and Robust.exe
|
||||||
|
//
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// defaults to the ./bin directory
|
// defaults to the ./bin directory
|
||||||
|
@ -177,6 +197,9 @@ namespace OpenSim.Services.IntegrationService
|
||||||
+ args.Exception.StackTrace);
|
+ args.Exception.StackTrace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ****[ Robust ] This is where we get control of the plugin during
|
||||||
|
// ****[ Robust ] the loading and unloading
|
||||||
|
//
|
||||||
// This is our init
|
// This is our init
|
||||||
// We can do build-up and tear-down of our plugin
|
// We can do build-up and tear-down of our plugin
|
||||||
void OnExtensionChanged(object s, ExtensionNodeEventArgs args)
|
void OnExtensionChanged(object s, ExtensionNodeEventArgs args)
|
||||||
|
@ -208,6 +231,14 @@ namespace OpenSim.Services.IntegrationService
|
||||||
}
|
}
|
||||||
#endregion addin-event handlers
|
#endregion addin-event handlers
|
||||||
|
|
||||||
|
// ****[ Robust ] We are taking the module from the event handler and
|
||||||
|
// ****[ Robust ] taking it through the initialization process
|
||||||
|
// ****[ Robust ] This is using a mixture of the user's existing ini
|
||||||
|
// ****[ Robust ] and the developer supplied initial configuration
|
||||||
|
// ****[ Robust ]
|
||||||
|
// ****[ Robust ] We should first check the user's ini for existing entries
|
||||||
|
// ****[ Robust ] in case they have configured the module ahead of time.
|
||||||
|
//
|
||||||
private void LoadingPlugin(IntegrationPlugin plugin)
|
private void LoadingPlugin(IntegrationPlugin plugin)
|
||||||
{
|
{
|
||||||
string ConfigPath = String.Format("{0}/(1)", m_IntegrationConfigLoc,plugin.ConfigName);
|
string ConfigPath = String.Format("{0}/(1)", m_IntegrationConfigLoc,plugin.ConfigName);
|
||||||
|
@ -240,6 +271,9 @@ namespace OpenSim.Services.IntegrationService
|
||||||
plugin.Init(m_ConfigSource, PlugConfig, m_Server, this);
|
plugin.Init(m_ConfigSource, PlugConfig, m_Server, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ****[ Robust ] We are taking the plugin from the event handler to unload it
|
||||||
|
// ****[ Robust ] and we need to tear down to release all objects.
|
||||||
|
//
|
||||||
private void UnLoadingPlugin(IntegrationPlugin plugin)
|
private void UnLoadingPlugin(IntegrationPlugin plugin)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -42,6 +42,10 @@ namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
// ****[ Robust ] Only a couple of these are needed in the core management system
|
||||||
|
// ****[ Robust ] These could be moved to the implementation instead of being in
|
||||||
|
// ****[ Robust ] a separate file
|
||||||
|
//
|
||||||
#region web utils
|
#region web utils
|
||||||
public static bool ParseStringToOSDMap(string input, out OSDMap json)
|
public static bool ParseStringToOSDMap(string input, out OSDMap json)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,6 +39,16 @@ using Ux = OpenSim.Services.IntegrationService.IntegrationUtils;
|
||||||
|
|
||||||
namespace OpenSim.Services.IntegrationService
|
namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
|
// ****[ Robust ] These are the functions that connect our console
|
||||||
|
// ****[ Robust ] commands to the addin management. This needs to
|
||||||
|
// ****[ Robust ] be maintained in a file separately from the main
|
||||||
|
// ****[ Robust ] implementation in the same namespace. Any generaly
|
||||||
|
// ****[ Robust ] usefull methods can be located in one of the existing
|
||||||
|
// ****[ Robust ] places
|
||||||
|
// ****[ Robust ]
|
||||||
|
// ****[ Robust ] This needs to be in OpenSim.Framework so it can be
|
||||||
|
// ****[ Robust ] used to complete the region module management
|
||||||
|
//
|
||||||
// This will maintain the plugin repositories and plugins
|
// This will maintain the plugin repositories and plugins
|
||||||
public class PluginManager : SetupService
|
public class PluginManager : SetupService
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue