Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene. Place those interfaces in OpenSim/Region/Interfaces. They may not use any refs from OpenSim.Region.Environment as parameters. This resolves a circular library ref introduced in r59490.6.0-stable
parent
1b2939ac98
commit
ccd74f888b
|
@ -35,8 +35,7 @@ using log4net;
|
|||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Interfaces;
|
||||
|
||||
namespace OpenSim.Framework.Communications.Capabilities
|
||||
{
|
||||
|
@ -614,7 +613,7 @@ namespace OpenSim.Framework.Communications.Capabilities
|
|||
llsdRequest.asset_type == "sound")
|
||||
{
|
||||
IClientAPI client = GetClient(m_agentID);
|
||||
Scene scene = (Scene)client.Scene;
|
||||
IScene scene = client.Scene;
|
||||
|
||||
IMoneyModule mm = scene.RequestModuleInterface<IMoneyModule>();
|
||||
|
||||
|
|
|
@ -63,5 +63,7 @@ namespace OpenSim.Framework
|
|||
bool PresenceChildStatus(LLUUID avatarID);
|
||||
|
||||
string GetCapsPath(LLUUID agentId);
|
||||
|
||||
T RequestModuleInterface<T>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ using libsecondlife;
|
|||
using log4net;
|
||||
using Nini.Config;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ using Nini.Config;
|
|||
using Nwc.XmlRpc;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
|
||||
|
@ -54,7 +55,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
|
|||
/// Centralized grid structure example using OpenSimWi Redux revision 9+
|
||||
/// svn co https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux
|
||||
/// </summary>
|
||||
public class SampleMoneyModule : IMoneyModule
|
||||
public class SampleMoneyModule : IMoneyModule, IRegionModule
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ using libsecondlife.Packets;
|
|||
using log4net;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
|
||||
namespace OpenSim.Region.Environment.Scenes
|
||||
|
|
|
@ -2963,7 +2963,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
/// For the given interface, retrieve the region module which implements it.
|
||||
/// </summary>
|
||||
/// <returns>null if there is no module implementing that interface</returns>
|
||||
public T RequestModuleInterface<T>()
|
||||
public override T RequestModuleInterface<T>()
|
||||
{
|
||||
if (ModuleInterfaces.ContainsKey(typeof(T)))
|
||||
{
|
||||
|
|
|
@ -220,5 +220,10 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual T RequestModuleInterface<T>()
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,10 +29,10 @@ using System;
|
|||
using OpenSim.Framework;
|
||||
using libsecondlife;
|
||||
|
||||
namespace OpenSim.Region.Environment.Interfaces
|
||||
namespace OpenSim.Region.Interfaces
|
||||
{
|
||||
public delegate void ObjectPaid(LLUUID objectID, LLUUID agentID, int amount);
|
||||
public interface IMoneyModule : IRegionModule
|
||||
public interface IMoneyModule
|
||||
{
|
||||
bool ObjectGiveMoney(LLUUID objectID, LLUUID fromID, LLUUID toID,
|
||||
int amount);
|
|
@ -38,6 +38,7 @@ using libsecondlife.Packets;
|
|||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Region.Environment;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney;
|
||||
using OpenSim.Region.Environment.Modules.World.Land;
|
||||
|
|
|
@ -31,6 +31,7 @@ using libsecondlife;
|
|||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney;
|
||||
using OpenSim.Region.Environment;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
|
|
|
@ -39,6 +39,7 @@ using OpenSim;
|
|||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Region.Environment;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney;
|
||||
using OpenSim.Region.Environment.Modules.World.Land;
|
||||
|
|
|
@ -31,6 +31,7 @@ using System.Collections.Generic;
|
|||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney;
|
||||
using OpenSim.Region.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.ScriptEngine.Shared;
|
||||
|
|
29
prebuild.xml
29
prebuild.xml
|
@ -650,6 +650,29 @@
|
|||
</Files>
|
||||
</Project>
|
||||
|
||||
<Project name="OpenSim.Region.Interfaces" path="OpenSim/Region/Interfaces" type="Library">
|
||||
<Configuration name="Debug">
|
||||
<Options>
|
||||
<OutputPath>../../../bin/</OutputPath>
|
||||
</Options>
|
||||
</Configuration>
|
||||
<Configuration name="Release">
|
||||
<Options>
|
||||
<OutputPath>../../../bin/</OutputPath>
|
||||
</Options>
|
||||
</Configuration>
|
||||
|
||||
<ReferencePath>../../../bin/</ReferencePath>
|
||||
<Reference name="System" localCopy="false"/>
|
||||
<Reference name="System.Runtime.Remoting"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="libsecondlife.dll"/>
|
||||
|
||||
<Files>
|
||||
<Match pattern="*.cs" recurse="true"/>
|
||||
</Files>
|
||||
</Project>
|
||||
|
||||
<!-- OpenSim.Framework.Communications -->
|
||||
<Project name="OpenSim.Framework.Communications" path="OpenSim/Framework/Communications" type="Library">
|
||||
<Configuration name="Debug">
|
||||
|
@ -668,12 +691,12 @@
|
|||
<Reference name="System.Xml"/>
|
||||
<Reference name="System.Web"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Region.Environment"/>
|
||||
<Reference name="OpenSim.Framework.AssetLoader.Filesystem"/>
|
||||
<Reference name="OpenSim.Data" />
|
||||
<Reference name="OpenSim.Framework.Servers"/>
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="OpenSim.Framework.Statistics"/>
|
||||
<Reference name="OpenSim.Region.Interfaces"/>
|
||||
<Reference name="libsecondlife.dll"/>
|
||||
<Reference name="Nini.dll" />
|
||||
<Reference name="XMLRPC.dll"/>
|
||||
|
@ -768,6 +791,7 @@
|
|||
<Reference name="Axiom.MathLib.dll"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Data" />
|
||||
<Reference name="OpenSim.Region.Interfaces" />
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="OpenSim.Framework.Servers"/>
|
||||
<Reference name="OpenSim.Framework.Statistics"/>
|
||||
|
@ -1575,6 +1599,7 @@
|
|||
<Reference name="OpenSim" />
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Communications"/>
|
||||
<Reference name="OpenSim.Region.Interfaces" />
|
||||
<Reference name="OpenSim.Region.Environment" />
|
||||
<Reference name="OpenSim.Region.Physics.Manager" />
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
|
@ -1665,6 +1690,7 @@
|
|||
<Reference name="OpenSim" />
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Communications"/>
|
||||
<Reference name="OpenSim.Region.Interfaces" />
|
||||
<Reference name="OpenSim.Region.Environment" />
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine.Shared"/>
|
||||
|
@ -1888,6 +1914,7 @@
|
|||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Communications"/>
|
||||
<Reference name="OpenSim.Region.Environment" />
|
||||
<Reference name="OpenSim.Region.Interfaces" />
|
||||
<Reference name="OpenSim.Region.Physics.Manager" />
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="Axiom.MathLib.dll" localCopy="false"/>
|
||||
|
|
Loading…
Reference in New Issue