aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Addons/Groups/GroupsMessagingModule.cs
diff options
context:
space:
mode:
authorDiva Canto2014-05-22 10:16:19 -0700
committerDiva Canto2014-05-22 10:16:19 -0700
commitb7c7293c7aa7bb37085eaf6740e10a268aecf608 (patch)
tree55022934c63bea8fd9fbd31be2df016cf5593d9a /OpenSim/Addons/Groups/GroupsMessagingModule.cs
parentFixed a problem with detaching attachments in situations where the user's ass... (diff)
parentFix mantis 6973. Prevent BOM being prefixed to message XML which was causing ... (diff)
downloadopensim-SC_OLD-b7c7293c7aa7bb37085eaf6740e10a268aecf608.zip
opensim-SC_OLD-b7c7293c7aa7bb37085eaf6740e10a268aecf608.tar.gz
opensim-SC_OLD-b7c7293c7aa7bb37085eaf6740e10a268aecf608.tar.bz2
opensim-SC_OLD-b7c7293c7aa7bb37085eaf6740e10a268aecf608.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Addons/Groups/GroupsMessagingModule.cs')
-rw-r--r--OpenSim/Addons/Groups/GroupsMessagingModule.cs38
1 files changed, 33 insertions, 5 deletions
diff --git a/OpenSim/Addons/Groups/GroupsMessagingModule.cs b/OpenSim/Addons/Groups/GroupsMessagingModule.cs
index bbb5e05..e6a4765 100644
--- a/OpenSim/Addons/Groups/GroupsMessagingModule.cs
+++ b/OpenSim/Addons/Groups/GroupsMessagingModule.cs
@@ -56,8 +56,8 @@ namespace OpenSim.Groups
56 private IGroupsServicesConnector m_groupData = null; 56 private IGroupsServicesConnector m_groupData = null;
57 57
58 // Config Options 58 // Config Options
59 private bool m_groupMessagingEnabled = false; 59 private bool m_groupMessagingEnabled;
60 private bool m_debugEnabled = true; 60 private bool m_debugEnabled;
61 61
62 /// <summary> 62 /// <summary>
63 /// If enabled, module only tries to send group IMs to online users by querying cached presence information. 63 /// If enabled, module only tries to send group IMs to online users by querying cached presence information.
@@ -120,7 +120,7 @@ namespace OpenSim.Groups
120 return; 120 return;
121 } 121 }
122 122
123 m_debugEnabled = groupsConfig.GetBoolean("DebugEnabled", true); 123 m_debugEnabled = groupsConfig.GetBoolean("MessagingDebugEnabled", m_debugEnabled);
124 124
125 m_log.InfoFormat( 125 m_log.InfoFormat(
126 "[Groups.Messaging]: GroupsMessagingModule enabled with MessageOnlineOnly = {0}, DebugEnabled = {1}", 126 "[Groups.Messaging]: GroupsMessagingModule enabled with MessageOnlineOnly = {0}, DebugEnabled = {1}",
@@ -140,6 +140,14 @@ namespace OpenSim.Groups
140 scene.EventManager.OnMakeChildAgent += OnMakeChildAgent; 140 scene.EventManager.OnMakeChildAgent += OnMakeChildAgent;
141 scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; 141 scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
142 scene.EventManager.OnClientLogin += OnClientLogin; 142 scene.EventManager.OnClientLogin += OnClientLogin;
143
144 scene.AddCommand(
145 "Debug",
146 this,
147 "debug groups messaging verbose",
148 "debug groups messaging verbose <true|false>",
149 "This setting turns on very verbose groups messaging debugging",
150 HandleDebugGroupsMessagingVerbose);
143 } 151 }
144 152
145 public void RegionLoaded(Scene scene) 153 public void RegionLoaded(Scene scene)
@@ -227,6 +235,26 @@ namespace OpenSim.Groups
227 235
228 #endregion 236 #endregion
229 237
238 private void HandleDebugGroupsMessagingVerbose(object modules, string[] args)
239 {
240 if (args.Length < 5)
241 {
242 MainConsole.Instance.Output("Usage: debug groups messaging verbose <true|false>");
243 return;
244 }
245
246 bool verbose = false;
247 if (!bool.TryParse(args[4], out verbose))
248 {
249 MainConsole.Instance.Output("Usage: debug groups messaging verbose <true|false>");
250 return;
251 }
252
253 m_debugEnabled = verbose;
254
255 MainConsole.Instance.OutputFormat("{0} verbose logging set to {1}", Name, m_debugEnabled);
256 }
257
230 /// <summary> 258 /// <summary>
231 /// Not really needed, but does confirm that the group exists. 259 /// Not really needed, but does confirm that the group exists.
232 /// </summary> 260 /// </summary>
@@ -255,6 +283,8 @@ namespace OpenSim.Groups
255 public void SendMessageToGroup( 283 public void SendMessageToGroup(
256 GridInstantMessage im, UUID groupID, UUID sendingAgentForGroupCalls, Func<GroupMembersData, bool> sendCondition) 284 GridInstantMessage im, UUID groupID, UUID sendingAgentForGroupCalls, Func<GroupMembersData, bool> sendCondition)
257 { 285 {
286 int requestStartTick = Environment.TickCount;
287
258 UUID fromAgentID = new UUID(im.fromAgentID); 288 UUID fromAgentID = new UUID(im.fromAgentID);
259 289
260 // Unlike current XmlRpcGroups, Groups V2 can accept UUID.Zero when a perms check for the requesting agent 290 // Unlike current XmlRpcGroups, Groups V2 can accept UUID.Zero when a perms check for the requesting agent
@@ -287,8 +317,6 @@ namespace OpenSim.Groups
287// "[Groups.Messaging]: SendMessageToGroup called for group {0} with {1} visible members, {2} online", 317// "[Groups.Messaging]: SendMessageToGroup called for group {0} with {1} visible members, {2} online",
288// groupID, groupMembersCount, groupMembers.Count()); 318// groupID, groupMembersCount, groupMembers.Count());
289 319
290 int requestStartTick = Environment.TickCount;
291
292 im.imSessionID = groupID.Guid; 320 im.imSessionID = groupID.Guid;
293 im.fromGroup = true; 321 im.fromGroup = true;
294 IClientAPI thisClient = GetActiveClient(fromAgentID); 322 IClientAPI thisClient = GetActiveClient(fromAgentID);