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 OpenSim.Framework;
|
||||
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||
using Mono.Addins;
|
||||
|
||||
|
||||
[assembly:AddinRoot ("IntegrationService", "1.0")]
|
||||
|
||||
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 IGridService m_GridService;
|
||||
|
@ -19,6 +30,11 @@ namespace OpenSim.Services.IntegrationService
|
|||
{
|
||||
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"];
|
||||
if (m_IntegrationServerConfig == null)
|
||||
{
|
||||
|
|
|
@ -1179,6 +1179,7 @@
|
|||
<Reference name="OpenSim.Server.Base"/>
|
||||
<Reference name="Nini" path="../../../bin/"/>
|
||||
<Reference name="log4net" path="../../../bin/"/>
|
||||
<Reference name="Mono.Addins" path="../../../bin/"/>
|
||||
|
||||
<Files>
|
||||
<Match pattern="*.cs" recurse="true"/>
|
||||
|
|
Loading…
Reference in New Issue