Making IntegrationService pluggable
First steps to making a pluggable IntegrationService.integration
parent
e8eb9b7e84
commit
ade1acc9d4
|
@ -5,10 +5,21 @@ using System.Reflection;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||||
|
using Mono.Addins;
|
||||||
|
|
||||||
|
|
||||||
|
[assembly:AddinRoot ("IntegrationService", "1.0")]
|
||||||
|
|
||||||
namespace OpenSim.Services.IntegrationService
|
namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
public class IntegrationServiceBase : ServiceBase
|
[TypeExtensionPoint (Path="/OpenSim/IntegrationService", Name="IntegrationService")]
|
||||||
|
public interface IntegrationPlugin
|
||||||
|
{
|
||||||
|
void run();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class IntegrationServiceBase : ServiceBase
|
||||||
{
|
{
|
||||||
protected IPresenceService m_PresenceService;
|
protected IPresenceService m_PresenceService;
|
||||||
protected IGridService m_GridService;
|
protected IGridService m_GridService;
|
||||||
|
@ -19,6 +30,11 @@ namespace OpenSim.Services.IntegrationService
|
||||||
{
|
{
|
||||||
Object[] args = new Object[] { config };
|
Object[] args = new Object[] { config };
|
||||||
|
|
||||||
|
AddinManager.Initialize (".");
|
||||||
|
AddinManager.Registry.Update ();
|
||||||
|
foreach (IntegrationPlugin cmd in AddinManager.GetExtensionObjects("/OpenSim/IntegrationService"))
|
||||||
|
cmd.run ();
|
||||||
|
|
||||||
m_IntegrationServerConfig = config.Configs["IntegrationService"];
|
m_IntegrationServerConfig = config.Configs["IntegrationService"];
|
||||||
if (m_IntegrationServerConfig == null)
|
if (m_IntegrationServerConfig == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1179,6 +1179,7 @@
|
||||||
<Reference name="OpenSim.Server.Base"/>
|
<Reference name="OpenSim.Server.Base"/>
|
||||||
<Reference name="Nini" path="../../../bin/"/>
|
<Reference name="Nini" path="../../../bin/"/>
|
||||||
<Reference name="log4net" path="../../../bin/"/>
|
<Reference name="log4net" path="../../../bin/"/>
|
||||||
|
<Reference name="Mono.Addins" path="../../../bin/"/>
|
||||||
|
|
||||||
<Files>
|
<Files>
|
||||||
<Match pattern="*.cs" recurse="true"/>
|
<Match pattern="*.cs" recurse="true"/>
|
||||||
|
|
Loading…
Reference in New Issue