mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
Make chat and instant message modules fully subclassable
This commit is contained in:
@@ -45,22 +45,22 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
private static readonly ILog m_log = LogManager.GetLogger(
|
||||
MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private Timer m_logTimer = new Timer(10000);
|
||||
private List<GridInstantMessage> m_logData = new List<GridInstantMessage>();
|
||||
private string m_restUrl;
|
||||
protected Timer m_logTimer = new Timer(10000);
|
||||
protected List<GridInstantMessage> m_logData = new List<GridInstantMessage>();
|
||||
protected string m_restUrl;
|
||||
|
||||
/// <value>
|
||||
/// Is this module enabled?
|
||||
/// </value>
|
||||
private bool m_enabled = false;
|
||||
protected bool m_enabled = false;
|
||||
|
||||
private readonly List<Scene> m_scenes = new List<Scene>();
|
||||
protected readonly List<Scene> m_scenes = new List<Scene>();
|
||||
|
||||
#region Region Module interface
|
||||
|
||||
private IMessageTransferModule m_TransferModule = null;
|
||||
protected IMessageTransferModule m_TransferModule = null;
|
||||
|
||||
public void Initialise(IConfigSource config)
|
||||
public virtual void Initialise(IConfigSource config)
|
||||
{
|
||||
if (config.Configs["Messaging"] != null)
|
||||
{
|
||||
@@ -76,7 +76,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
m_logTimer.Elapsed += LogTimerElapsed;
|
||||
}
|
||||
|
||||
public void AddRegion(Scene scene)
|
||||
public virtual void AddRegion(Scene scene)
|
||||
{
|
||||
if (!m_enabled)
|
||||
return;
|
||||
@@ -92,7 +92,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
public void RegionLoaded(Scene scene)
|
||||
public virtual void RegionLoaded(Scene scene)
|
||||
{
|
||||
if (!m_enabled)
|
||||
return;
|
||||
@@ -114,7 +114,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveRegion(Scene scene)
|
||||
public virtual void RemoveRegion(Scene scene)
|
||||
{
|
||||
if (!m_enabled)
|
||||
return;
|
||||
@@ -125,7 +125,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
void OnClientConnect(IClientCore client)
|
||||
protected virtual void OnClientConnect(IClientCore client)
|
||||
{
|
||||
IClientIM clientIM;
|
||||
if (client.TryGet(out clientIM))
|
||||
@@ -134,27 +134,27 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
public virtual void PostInitialise()
|
||||
{
|
||||
}
|
||||
|
||||
public void Close()
|
||||
public virtual void Close()
|
||||
{
|
||||
}
|
||||
|
||||
public string Name
|
||||
public virtual string Name
|
||||
{
|
||||
get { return "InstantMessageModule"; }
|
||||
}
|
||||
|
||||
public Type ReplaceableInterface
|
||||
public virtual Type ReplaceableInterface
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void OnInstantMessage(IClientAPI client, GridInstantMessage im)
|
||||
public virtual void OnInstantMessage(IClientAPI client, GridInstantMessage im)
|
||||
{
|
||||
byte dialog = im.dialog;
|
||||
|
||||
@@ -230,7 +230,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
private void OnGridInstantMessage(GridInstantMessage msg)
|
||||
protected virtual void OnGridInstantMessage(GridInstantMessage msg)
|
||||
{
|
||||
// Just call the Text IM handler above
|
||||
// This event won't be raised unless we have that agent,
|
||||
@@ -240,7 +240,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
OnInstantMessage(null, msg);
|
||||
}
|
||||
|
||||
private void LogInstantMesssage(GridInstantMessage im)
|
||||
protected virtual void LogInstantMesssage(GridInstantMessage im)
|
||||
{
|
||||
if (m_logData.Count < 20)
|
||||
{
|
||||
@@ -256,7 +256,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
private void LogTimerElapsed(object source, ElapsedEventArgs e)
|
||||
protected virtual void LogTimerElapsed(object source, ElapsedEventArgs e)
|
||||
{
|
||||
lock (m_logData)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user