add a missing field to ChatterBoxSessionAgentListUpdates. it is still wrong, and its use even worse

LSLKeyTest
UbitUmarov 2016-07-23 01:28:47 +01:00
parent 504ee6e21c
commit cdf215f613
6 changed files with 25 additions and 10 deletions

View File

@ -627,6 +627,7 @@ namespace OpenSim.Groups
, false //canVoiceChat , false //canVoiceChat
, false //isModerator , false //isModerator
, false //text mute , false //text mute
, true // Enter
); );
} }
} }
@ -669,6 +670,7 @@ namespace OpenSim.Groups
, false //canVoiceChat , false //canVoiceChat
, false //isModerator , false //isModerator
, false //text mute , false //text mute
, true
); );
} }
} }

View File

@ -372,7 +372,7 @@ namespace OpenSim.Region.ClientStack.Linden
caps.RegisterPollHandler( caps.RegisterPollHandler(
"EventQueueGet", "EventQueueGet",
new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, agentID, SERVER_EQ_TIME_NO_EVENTS)); new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, Drop, agentID, SERVER_EQ_TIME_NO_EVENTS));
} }
public bool HasEvents(UUID requestID, UUID agentID) public bool HasEvents(UUID requestID, UUID agentID)
@ -403,6 +403,10 @@ namespace OpenSim.Region.ClientStack.Linden
ev["message"], m_scene.GetScenePresence(agentId).Name, m_scene.Name); ev["message"], m_scene.GetScenePresence(agentId).Name, m_scene.Name);
} }
} }
public void Drop(UUID requestID, UUID pAgentId)
{
// do nothing for now, hope client close will do it
}
public Hashtable GetEvents(UUID requestID, UUID pAgentId) public Hashtable GetEvents(UUID requestID, UUID pAgentId)
{ {
@ -564,12 +568,12 @@ namespace OpenSim.Region.ClientStack.Linden
} }
public void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID anotherAgent, bool canVoiceChat, public void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID toAgent, bool canVoiceChat,
bool isModerator, bool textMute) bool isModerator, bool textMute, bool isEnterorLeave)
{ {
OSD item = EventQueueHelper.ChatterBoxSessionAgentListUpdates(sessionID, fromAgent, canVoiceChat, OSD item = EventQueueHelper.ChatterBoxSessionAgentListUpdates(sessionID, fromAgent, canVoiceChat,
isModerator, textMute); isModerator, textMute, isEnterorLeave);
Enqueue(item, fromAgent); Enqueue(item, toAgent);
//m_log.InfoFormat("########### eq ChatterBoxSessionAgentListUpdates #############\n{0}", item); //m_log.InfoFormat("########### eq ChatterBoxSessionAgentListUpdates #############\n{0}", item);
} }

View File

@ -308,7 +308,7 @@ namespace OpenSim.Region.ClientStack.Linden
} }
public static OSD ChatterBoxSessionAgentListUpdates(UUID sessionID, public static OSD ChatterBoxSessionAgentListUpdates(UUID sessionID,
UUID agentID, bool canVoiceChat, bool isModerator, bool textMute) UUID agentID, bool canVoiceChat, bool isModerator, bool textMute, bool isEnterorLeave)
{ {
OSDMap body = new OSDMap(); OSDMap body = new OSDMap();
OSDMap agentUpdates = new OSDMap(); OSDMap agentUpdates = new OSDMap();
@ -321,7 +321,13 @@ namespace OpenSim.Region.ClientStack.Linden
infoDetail.Add("mutes", mutes); infoDetail.Add("mutes", mutes);
OSDMap info = new OSDMap(); OSDMap info = new OSDMap();
info.Add("info", infoDetail); info.Add("info", infoDetail);
if(isEnterorLeave)
info.Add("transition",OSD.FromString("ENTER"));
else
info.Add("transition",OSD.FromString("LEAVE"));
agentUpdates.Add(agentID.ToString(), info); agentUpdates.Add(agentID.ToString(), info);
body.Add("agent_updates", agentUpdates); body.Add("agent_updates", agentUpdates);
body.Add("session_id", OSD.FromUUID(sessionID)); body.Add("session_id", OSD.FromUUID(sessionID));
body.Add("updates", new OSD()); body.Add("updates", new OSD());

View File

@ -56,7 +56,7 @@ namespace OpenSim.Region.Framework.Interfaces
uint timeStamp, bool offline, int parentEstateID, Vector3 position, uint timeStamp, bool offline, int parentEstateID, Vector3 position,
uint ttl, UUID transactionID, bool fromGroup, byte[] binaryBucket); uint ttl, UUID transactionID, bool fromGroup, byte[] binaryBucket);
void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID anotherAgent, bool canVoiceChat, void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID anotherAgent, bool canVoiceChat,
bool isModerator, bool textMute); bool isModerator, bool textMute, bool isEnterorLeave);
void ParcelProperties(ParcelPropertiesMessage parcelPropertiesMessage, UUID avatarID); void ParcelProperties(ParcelPropertiesMessage parcelPropertiesMessage, UUID avatarID);
void GroupMembershipData(UUID receiverAgent, GroupMembershipData[] data); void GroupMembershipData(UUID receiverAgent, GroupMembershipData[] data);
OSD ScriptRunningEvent(UUID objectID, UUID itemID, bool running, bool mono); OSD ScriptRunningEvent(UUID objectID, UUID itemID, bool running, bool mono);

View File

@ -526,6 +526,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
, false //canVoiceChat , false //canVoiceChat
, false //isModerator , false //isModerator
, false //text mute , false //text mute
, true // enter
); );
} }
@ -574,7 +575,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
m_groupData.AgentInvitedToGroupChatSession(AgentID, GroupID); m_groupData.AgentInvitedToGroupChatSession(AgentID, GroupID);
ChatterBoxSessionStartReplyViaCaps(remoteClient, groupInfo.GroupName, GroupID); ChatterBoxSessionStartReplyViaCaps(remoteClient, groupInfo.GroupName, GroupID);
/* this seems wrong
IEventQueue queue = remoteClient.Scene.RequestModuleInterface<IEventQueue>(); IEventQueue queue = remoteClient.Scene.RequestModuleInterface<IEventQueue>();
queue.ChatterBoxSessionAgentListUpdates( queue.ChatterBoxSessionAgentListUpdates(
GroupID GroupID
@ -583,7 +584,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
, false //canVoiceChat , false //canVoiceChat
, false //isModerator , false //isModerator
, false //text mute , false //text mute
, true
); );
*/
} }
} }

View File

@ -147,9 +147,9 @@ namespace OpenSim.Tests.Common
timeStamp, offline, parentEstateID, position, ttl, transactionID, fromGroup, binaryBucket); timeStamp, offline, parentEstateID, position, ttl, transactionID, fromGroup, binaryBucket);
} }
public void ChatterBoxSessionAgentListUpdates (UUID sessionID, UUID fromAgent, UUID toAgent, bool canVoiceChat, bool isModerator, bool textMute) public void ChatterBoxSessionAgentListUpdates (UUID sessionID, UUID fromAgent, UUID toAgent, bool canVoiceChat, bool isModerator, bool textMute , bool isEnterorLeave)
{ {
AddEvent(toAgent, "ChatterBoxSessionAgentListUpdates", sessionID, fromAgent, canVoiceChat, isModerator, textMute); AddEvent(toAgent, "ChatterBoxSessionAgentListUpdates", sessionID, fromAgent, canVoiceChat, isModerator, textMute, isEnterorLeave);
} }
public void ParcelProperties (OpenMetaverse.Messages.Linden.ParcelPropertiesMessage parcelPropertiesMessage, UUID avatarID) public void ParcelProperties (OpenMetaverse.Messages.Linden.ParcelPropertiesMessage parcelPropertiesMessage, UUID avatarID)