Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
This commit is contained in:
Melanie
2012-07-19 09:47:51 +01:00
18 changed files with 252 additions and 174 deletions

View File

@@ -500,15 +500,25 @@ namespace OpenSim.Region.Framework.Scenes
public delegate void RegionHeartbeatEnd(Scene scene);
public event RegionHeartbeatEnd OnRegionHeartbeatEnd;
public delegate void LoginsEnabled(string regionName);
/// <summary>
/// This should only fire in all circumstances if the RegionReady module is active.
/// Fired when logins to a region are enabled or disabled.
/// </summary>
/// <remarks>
/// TODO: Fire this even when the RegionReady module is not active.
///
/// </remarks>
public event LoginsEnabled OnLoginsEnabled;
/// Fired
public event RegionLoginsStatusChange OnRegionLoginsStatusChange;
public delegate void RegionLoginsStatusChange(IScene scene);
/// <summary>
/// Fired when a region is considered ready for use.
/// </summary>
/// <remarks>
/// A region is considered ready when startup operations such as loading of scripts already on the region
/// have been completed.
/// </remarks>
public event RegionReady OnRegionReady;
public delegate void RegionReady(IScene scene);
public delegate void PrimsLoaded(Scene s);
public event PrimsLoaded OnPrimsLoaded;
@@ -2502,21 +2512,42 @@ namespace OpenSim.Region.Framework.Scenes
}
}
public void TriggerLoginsEnabled (string regionName)
public void TriggerRegionLoginsStatusChange(IScene scene)
{
LoginsEnabled handler = OnLoginsEnabled;
RegionLoginsStatusChange handler = OnRegionLoginsStatusChange;
if ( handler != null)
if (handler != null)
{
foreach (LoginsEnabled d in handler.GetInvocationList())
foreach (RegionLoginsStatusChange d in handler.GetInvocationList())
{
try
{
d(regionName);
d(scene);
}
catch (Exception e)
{
m_log.ErrorFormat("[EVENT MANAGER]: Delegate for LoginsEnabled failed - continuing {0} - {1}",
m_log.ErrorFormat("[EVENT MANAGER]: Delegate for OnRegionLoginsStatusChange failed - continuing {0} - {1}",
e.Message, e.StackTrace);
}
}
}
}
public void TriggerRegionReady(IScene scene)
{
RegionReady handler = OnRegionReady;
if (handler != null)
{
foreach (RegionReady d in handler.GetInvocationList())
{
try
{
d(scene);
}
catch (Exception e)
{
m_log.ErrorFormat("[EVENT MANAGER]: Delegate for OnRegionReady failed - continuing {0} - {1}",
e.Message, e.StackTrace);
}
}