mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 03:06:05 +08:00
* From: Dr Scofield <hud@zurich.ibm.com>
* This patch removes voice code into a region module. This required the implementation of events and other code to allow region modules to register their own caps handlers, and should allow different voice module implementations. * CAVEAT: This does not provide complete voice support, it merely provides the hooks so that it can be plugged in.
This commit is contained in:
@@ -29,6 +29,7 @@ using libsecondlife;
|
||||
using System;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using Caps = OpenSim.Region.Capabilities.Caps;
|
||||
|
||||
namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
@@ -136,6 +137,19 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
public event OnNewPresenceDelegate OnMakeChildAgent;
|
||||
|
||||
/// <summary>
|
||||
/// RegisterCapsEvent is called by Scene after the Caps object
|
||||
/// has been instantiated and before it is return to the
|
||||
/// client and provides region modules to add their caps.
|
||||
/// </summary>
|
||||
public delegate void RegisterCapsEvent(LLUUID agentID, Caps caps);
|
||||
public event RegisterCapsEvent OnRegisterCaps;
|
||||
/// <summary>
|
||||
/// DeregisterCapsEvent is called by Scene when the caps
|
||||
/// handler for an agent are removed.
|
||||
/// </summary>
|
||||
public delegate void DeregisterCapsEvent(LLUUID agentID, Caps caps);
|
||||
public event DeregisterCapsEvent OnDeregisterCaps;
|
||||
|
||||
public class MoneyTransferArgs : System.EventArgs
|
||||
{
|
||||
@@ -191,6 +205,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
private ClientClosed handlerClientClosed = null; //OnClientClosed;
|
||||
private OnNewPresenceDelegate handlerMakeChildAgent = null; //OnMakeChildAgent;
|
||||
private OnTerrainTickDelegate handlerTerrainTick = null; // OnTerainTick;
|
||||
private RegisterCapsEvent handlerRegisterCaps = null; // OnRegisterCaps;
|
||||
private DeregisterCapsEvent handlerDeregisterCaps = null; // OnDeregisterCaps;
|
||||
|
||||
public void TriggerOnScriptChangedEvent(uint localID, uint change)
|
||||
{
|
||||
@@ -428,5 +444,23 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
handlerMakeChildAgent(presence);
|
||||
}
|
||||
}
|
||||
|
||||
public void TriggerOnRegisterCaps(LLUUID agentID, Caps caps)
|
||||
{
|
||||
handlerRegisterCaps = OnRegisterCaps;
|
||||
if (handlerRegisterCaps != null)
|
||||
{
|
||||
handlerRegisterCaps(agentID, caps);
|
||||
}
|
||||
}
|
||||
|
||||
public void TriggerOnDeregisterCaps(LLUUID agentID, Caps caps)
|
||||
{
|
||||
handlerDeregisterCaps = OnDeregisterCaps;
|
||||
if (handlerDeregisterCaps != null)
|
||||
{
|
||||
handlerDeregisterCaps(agentID, caps);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user