aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorUbitUmarov2016-07-27 23:39:50 +0100
committerUbitUmarov2016-07-27 23:39:50 +0100
commit376084a2e52561cfd1b359aabe9bb64ecc84c2fc (patch)
tree77052f68f03eb426b35fc7bd584eeadf9a4b34cf /OpenSim/Region/ClientStack
parent add another gatekeeper login fail reason reply (diff)
parentfirst step removing MegaRegions: refuse to run. Thanks to all that made MegaR... (diff)
downloadopensim-SC-376084a2e52561cfd1b359aabe9bb64ecc84c2fc.zip
opensim-SC-376084a2e52561cfd1b359aabe9bb64ecc84c2fc.tar.gz
opensim-SC-376084a2e52561cfd1b359aabe9bb64ecc84c2fc.tar.bz2
opensim-SC-376084a2e52561cfd1b359aabe9bb64ecc84c2fc.tar.xz
Merge branch 'master' into httptests
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs8
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs11
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs31
3 files changed, 36 insertions, 14 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
index 18670f5..f3acacd 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
@@ -568,12 +568,12 @@ namespace OpenSim.Region.ClientStack.Linden
568 568
569 } 569 }
570 570
571 public void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID anotherAgent, bool canVoiceChat, 571 public void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID fromAgent, UUID toAgent, bool canVoiceChat,
572 bool isModerator, bool textMute) 572 bool isModerator, bool textMute, bool isEnterorLeave)
573 { 573 {
574 OSD item = EventQueueHelper.ChatterBoxSessionAgentListUpdates(sessionID, fromAgent, canVoiceChat, 574 OSD item = EventQueueHelper.ChatterBoxSessionAgentListUpdates(sessionID, fromAgent, canVoiceChat,
575 isModerator, textMute); 575 isModerator, textMute, isEnterorLeave);
576 Enqueue(item, fromAgent); 576 Enqueue(item, toAgent);
577 //m_log.InfoFormat("########### eq ChatterBoxSessionAgentListUpdates #############\n{0}", item); 577 //m_log.InfoFormat("########### eq ChatterBoxSessionAgentListUpdates #############\n{0}", item);
578 } 578 }
579 579
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
index 8beeb95..d552914 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
@@ -308,20 +308,29 @@ namespace OpenSim.Region.ClientStack.Linden
308 } 308 }
309 309
310 public static OSD ChatterBoxSessionAgentListUpdates(UUID sessionID, 310 public static OSD ChatterBoxSessionAgentListUpdates(UUID sessionID,
311 UUID agentID, bool canVoiceChat, bool isModerator, bool textMute) 311 UUID agentID, bool canVoiceChat, bool isModerator, bool textMute, bool isEnterorLeave)
312 { 312 {
313 OSDMap body = new OSDMap(); 313 OSDMap body = new OSDMap();
314 OSDMap agentUpdates = new OSDMap(); 314 OSDMap agentUpdates = new OSDMap();
315 OSDMap infoDetail = new OSDMap(); 315 OSDMap infoDetail = new OSDMap();
316 OSDMap mutes = new OSDMap(); 316 OSDMap mutes = new OSDMap();
317 317
318 // this should be a list of agents and parameters
319 // foreach agent
318 mutes.Add("text", OSD.FromBoolean(textMute)); 320 mutes.Add("text", OSD.FromBoolean(textMute));
319 infoDetail.Add("can_voice_chat", OSD.FromBoolean(canVoiceChat)); 321 infoDetail.Add("can_voice_chat", OSD.FromBoolean(canVoiceChat));
320 infoDetail.Add("is_moderator", OSD.FromBoolean(isModerator)); 322 infoDetail.Add("is_moderator", OSD.FromBoolean(isModerator));
321 infoDetail.Add("mutes", mutes); 323 infoDetail.Add("mutes", mutes);
322 OSDMap info = new OSDMap(); 324 OSDMap info = new OSDMap();
323 info.Add("info", infoDetail); 325 info.Add("info", infoDetail);
326 if(isEnterorLeave)
327 info.Add("transition",OSD.FromString("ENTER"));
328 else
329 info.Add("transition",OSD.FromString("LEAVE"));
324 agentUpdates.Add(agentID.ToString(), info); 330 agentUpdates.Add(agentID.ToString(), info);
331
332 // foreach end
333
325 body.Add("agent_updates", agentUpdates); 334 body.Add("agent_updates", agentUpdates);
326 body.Add("session_id", OSD.FromUUID(sessionID)); 335 body.Add("session_id", OSD.FromUUID(sessionID));
327 body.Add("updates", new OSD()); 336 body.Add("updates", new OSD());
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 6dd2ffd..0bb5dc6 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -421,9 +421,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
421 } 421 }
422 public UUID AgentId { get { return m_agentId; } } 422 public UUID AgentId { get { return m_agentId; } }
423 public ISceneAgent SceneAgent { get; set; } 423 public ISceneAgent SceneAgent { get; set; }
424 public UUID ActiveGroupId { get { return m_activeGroupID; } private set { m_activeGroupID = value; } } 424 public UUID ActiveGroupId { get { return m_activeGroupID; } set { m_activeGroupID = value; } }
425 public string ActiveGroupName { get { return m_activeGroupName; } private set { m_activeGroupName = value; } } 425 public string ActiveGroupName { get { return m_activeGroupName; } set { m_activeGroupName = value; } }
426 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } private set { m_activeGroupPowers = value; } } 426 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } set { m_activeGroupPowers = value; } }
427 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } 427 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); }
428 428
429 public int PingTimeMS 429 public int PingTimeMS
@@ -953,7 +953,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
953 /// Send an instant message to this client 953 /// Send an instant message to this client
954 /// </summary> 954 /// </summary>
955 // 955 //
956 // Don't remove transaction ID! Groups and item gives need to set it!
957 public void SendInstantMessage(GridInstantMessage im) 956 public void SendInstantMessage(GridInstantMessage im)
958 { 957 {
959 if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID))) 958 if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID)))
@@ -962,14 +961,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
962 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); 961 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
963 962
964 msg.AgentData.AgentID = new UUID(im.fromAgentID); 963 msg.AgentData.AgentID = new UUID(im.fromAgentID);
965 msg.AgentData.SessionID = UUID.Zero; 964 msg.AgentData.SessionID = new UUID(im.imSessionID);
966 msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName); 965 msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName);
967 msg.MessageBlock.Dialog = im.dialog; 966 msg.MessageBlock.Dialog = im.dialog;
968 msg.MessageBlock.FromGroup = im.fromGroup; 967 msg.MessageBlock.FromGroup = im.fromGroup;
969 if (im.imSessionID == UUID.Zero.Guid) 968 msg.MessageBlock.ID = new UUID(im.ID);
970 msg.MessageBlock.ID = new UUID(im.fromAgentID) ^ new UUID(im.toAgentID);
971 else
972 msg.MessageBlock.ID = new UUID(im.imSessionID);
973 msg.MessageBlock.Offline = im.offline; 969 msg.MessageBlock.Offline = im.offline;
974 msg.MessageBlock.ParentEstateID = im.ParentEstateID; 970 msg.MessageBlock.ParentEstateID = im.ParentEstateID;
975 msg.MessageBlock.Position = im.Position; 971 msg.MessageBlock.Position = im.Position;
@@ -5786,6 +5782,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5786 OutPacket(packet, ThrottleOutPacketType.Task); 5782 OutPacket(packet, ThrottleOutPacketType.Task);
5787 } 5783 }
5788 5784
5785 public Dictionary<UUID, ulong> GetGroupPowers()
5786 {
5787 lock(m_groupPowers)
5788 {
5789 return new Dictionary<UUID, ulong>(m_groupPowers);
5790 }
5791 }
5792
5793 public void SetGroupPowers(Dictionary<UUID, ulong> powers)
5794 {
5795 lock(m_groupPowers)
5796 {
5797 m_groupPowers.Clear();
5798 m_groupPowers = powers;
5799 }
5800 }
5801
5789 public ulong GetGroupPowers(UUID groupID) 5802 public ulong GetGroupPowers(UUID groupID)
5790 { 5803 {
5791 if (groupID == ActiveGroupId) 5804 if (groupID == ActiveGroupId)