diff options
author | UbitUmarov | 2016-07-27 23:39:50 +0100 |
---|---|---|
committer | UbitUmarov | 2016-07-27 23:39:50 +0100 |
commit | 376084a2e52561cfd1b359aabe9bb64ecc84c2fc (patch) | |
tree | 77052f68f03eb426b35fc7bd584eeadf9a4b34cf /OpenSim/Region/ClientStack | |
parent | add another gatekeeper login fail reason reply (diff) | |
parent | first step removing MegaRegions: refuse to run. Thanks to all that made MegaR... (diff) | |
download | opensim-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')
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) |