* refactor: Make some direct IClientAPI calls go through the dialog module instead

0.6.2-post-fixes
Justin Clarke Casey 2009-01-07 20:46:28 +00:00
parent 1aa9e63428
commit b97a51d7d0
3 changed files with 36 additions and 10 deletions

View File

@ -27,11 +27,27 @@
using System;
using OpenMetaverse;
using OpenSim.Framework;
namespace OpenSim.Region.Environment.Interfaces
{
public interface IDialogModule
{
/// <summary>
/// Send a non-modal alert message to a particular user.
/// </summary>
/// <param name="client"></param>
/// <param name="message"></param>
void SendAlertToUser(IClientAPI client, string message);
/// <summary>
/// Send an alert message to a particular user.
/// </summary>
/// <param name="client"></param>
/// <param name="message"></param>
/// <param name="modal"></param>
void SendAlertToUser(IClientAPI client, string message, bool modal);
/// <summary>
/// Send a non-modal alert message to a particular user.
/// </summary>

View File

@ -53,6 +53,16 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Dialog
public string Name { get { return "Dialog Module"; } }
public bool IsSharedModule { get { return false; } }
public void SendAlertToUser(IClientAPI client, string message)
{
SendAlertToUser(client, message, false);
}
public void SendAlertToUser(IClientAPI client, string message, bool modal)
{
client.SendAgentAlertMessage(message, modal);
}
public void SendAlertToUser(UUID agentID, string message)
{
SendAlertToUser(agentID, message, false);

View File

@ -2506,11 +2506,11 @@ namespace OpenSim.Region.Environment.Scenes
CommsManager.UserService.UpdateUserProfile(UserProfile);
// FUBAR ALERT: this needs to be "Home position set." so the viewer saves a home-screenshot.
remoteClient.SendAgentAlertMessage("Home position set.",false);
m_dialogModule.SendAlertToUser(remoteClient, "Home position set.");
}
else
{
remoteClient.SendAgentAlertMessage("Set Home request Failed",false);
m_dialogModule.SendAlertToUser(remoteClient, "Set Home request Failed.");
}
}
@ -3469,7 +3469,7 @@ namespace OpenSim.Region.Environment.Scenes
}
else
{
m_scenePresences[agentID].ControllingClient.SendAgentAlertMessage("Request for god powers denied", false);
m_dialogModule.SendAlertToUser(agentID, "Request for god powers denied");
}
}
}
@ -3567,8 +3567,7 @@ namespace OpenSim.Region.Environment.Scenes
}
else
{
if (m_scenePresences.ContainsKey(godID))
m_scenePresences[godID].ControllingClient.SendAgentAlertMessage("Kick request denied", false);
m_dialogModule.SendAlertToUser(godID, "Kick request denied");
}
}
}
@ -4209,7 +4208,7 @@ namespace OpenSim.Region.Environment.Scenes
if ((effectivePerms & (uint)PermissionMask.Transfer) == 0)
{
remoteClient.SendAgentAlertMessage("This item doesn't appear to be for sale", false);
m_dialogModule.SendAlertToUser(remoteClient, "This item doesn't appear to be for sale");
return false;
}
@ -4250,7 +4249,7 @@ namespace OpenSim.Region.Environment.Scenes
if ((perms & (uint)PermissionMask.Transfer) == 0)
{
remoteClient.SendAgentAlertMessage("This item doesn't appear to be for sale", false);
m_dialogModule.SendAlertToUser(remoteClient, "This item doesn't appear to be for sale");
return false;
}
@ -4296,7 +4295,7 @@ namespace OpenSim.Region.Environment.Scenes
}
else
{
remoteClient.SendAgentAlertMessage("Cannot buy now. Your inventory is unavailable", false);
m_dialogModule.SendAlertToUser(remoteClient, "Cannot buy now. Your inventory is unavailable");
return false;
}
break;
@ -4319,7 +4318,8 @@ namespace OpenSim.Region.Environment.Scenes
if (!okToSell)
{
remoteClient.SendAgentAlertMessage("This item's inventory doesn't appear to be for sale", false);
m_dialogModule.SendAlertToUser(
remoteClient, "This item's inventory doesn't appear to be for sale");
return false;
}