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 r5949
This commit is contained in:
Melanie Thielker
2008-08-23 02:30:07 +00:00
parent 1b2939ac98
commit ccd74f888b
13 changed files with 49 additions and 9 deletions

View File

@@ -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>();

View File

@@ -63,5 +63,7 @@ namespace OpenSim.Framework
bool PresenceChildStatus(LLUUID avatarID);
string GetCapsPath(LLUUID agentId);
T RequestModuleInterface<T>();
}
}
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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

View File

@@ -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)))
{

View File

@@ -220,5 +220,10 @@ namespace OpenSim.Region.Environment.Scenes
return null;
}
public virtual T RequestModuleInterface<T>()
{
return default(T);
}
}
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;