aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
diff options
context:
space:
mode:
authorRevolution2010-01-22 18:09:33 -0600
committerMelanie2010-01-23 15:18:52 +0000
commitec3c31e61e5e540f822891110df9bc978655bbaf (patch)
treeb0b34a239eab48e163a3ca064edcd7567948423c /OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
parentadd a target position to agent updates to ScenePresence to support alternativ... (diff)
downloadopensim-SC_OLD-ec3c31e61e5e540f822891110df9bc978655bbaf.zip
opensim-SC_OLD-ec3c31e61e5e540f822891110df9bc978655bbaf.tar.gz
opensim-SC_OLD-ec3c31e61e5e540f822891110df9bc978655bbaf.tar.bz2
opensim-SC_OLD-ec3c31e61e5e540f822891110df9bc978655bbaf.tar.xz
Updates all IRegionModules to the new style region modules.
Signed-off-by: Melanie <melanie@t-data.com>
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs76
1 files changed, 48 insertions, 28 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
index 450897c..6c4d0bf 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
@@ -28,6 +28,7 @@ using System;
28using System.Collections.Generic; 28using System.Collections.Generic;
29using System.Reflection; 29using System.Reflection;
30using log4net; 30using log4net;
31using Mono.Addins;
31using Nini.Config; 32using Nini.Config;
32using OpenMetaverse; 33using OpenMetaverse;
33using OpenSim.Framework; 34using OpenSim.Framework;
@@ -40,7 +41,8 @@ using OpenSim.Region.Framework.Scenes;
40 41
41namespace OpenSim.Region.CoreModules.Avatar.InstantMessage 42namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
42{ 43{
43 public class OfflineMessageModule : IRegionModule 44 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
45 public class OfflineMessageModule : ISharedRegionModule
44 { 46 {
45 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
46 48
@@ -49,7 +51,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
49 private string m_RestURL = String.Empty; 51 private string m_RestURL = String.Empty;
50 private bool m_ForwardOfflineGroupMessages = true; 52 private bool m_ForwardOfflineGroupMessages = true;
51 53
52 public void Initialise(Scene scene, IConfigSource config) 54 public void Initialise(IConfigSource config)
53 { 55 {
54 if (!enabled) 56 if (!enabled)
55 return; 57 return;
@@ -83,14 +85,23 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
83 return; 85 return;
84 } 86 }
85 } 87 }
86 if (!m_SceneList.Contains(scene))
87 m_SceneList.Add(scene);
88
89 scene.EventManager.OnNewClient += OnNewClient;
90 } 88 }
91 } 89 }
92 90
93 public void PostInitialise() 91 public Type ReplaceableInterface
92 {
93 get { return null; }
94 }
95
96 public void AddRegion(Scene scene)
97 {
98 if (!m_SceneList.Contains(scene))
99 m_SceneList.Add(scene);
100
101 scene.EventManager.OnNewClient += OnNewClient;
102 }
103
104 public void RegionLoaded(Scene scene)
94 { 105 {
95 if (!enabled) 106 if (!enabled)
96 return; 107 return;
@@ -120,16 +131,22 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
120 m_log.Debug("[OFFLINE MESSAGING] Offline messages enabled"); 131 m_log.Debug("[OFFLINE MESSAGING] Offline messages enabled");
121 } 132 }
122 133
123 public string Name 134 public void RemoveRegion(Scene scene)
124 { 135 {
125 get { return "OfflineMessageModule"; } 136 if (m_SceneList.Contains(scene))
137 m_SceneList.Remove(scene);
138 scene.EventManager.OnNewClient -= OnNewClient;
126 } 139 }
127 140
128 public bool IsSharedModule 141 public void PostInitialise()
142 {
143 }
144
145 public string Name
129 { 146 {
130 get { return true; } 147 get { return "OfflineMessageModule"; }
131 } 148 }
132 149
133 public void Close() 150 public void Close()
134 { 151 {
135 } 152 }
@@ -163,24 +180,27 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
163 180
164 private void RetrieveInstantMessages(IClientAPI client) 181 private void RetrieveInstantMessages(IClientAPI client)
165 { 182 {
166 m_log.DebugFormat("[OFFLINE MESSAGING] Retrieving stored messages for {0}", client.AgentId); 183 if (m_RestURL != "")
184 {
185 m_log.DebugFormat("[OFFLINE MESSAGING] Retrieving stored messages for {0}", client.AgentId);
167 186
168 List<GridInstantMessage>msglist = SynchronousRestObjectPoster.BeginPostObject<UUID, List<GridInstantMessage>>( 187 List<GridInstantMessage> msglist = SynchronousRestObjectPoster.BeginPostObject<UUID, List<GridInstantMessage>>(
169 "POST", m_RestURL+"/RetrieveMessages/", client.AgentId); 188 "POST", m_RestURL + "/RetrieveMessages/", client.AgentId);
170 189
171 foreach (GridInstantMessage im in msglist) 190 foreach (GridInstantMessage im in msglist)
172 { 191 {
173 // client.SendInstantMessage(im); 192 // client.SendInstantMessage(im);
174 193
175 // Send through scene event manager so all modules get a chance 194 // Send through scene event manager so all modules get a chance
176 // to look at this message before it gets delivered. 195 // to look at this message before it gets delivered.
177 // 196 //
178 // Needed for proper state management for stored group 197 // Needed for proper state management for stored group
179 // invitations 198 // invitations
180 // 199 //
181 Scene s = FindScene(client.AgentId); 200 Scene s = FindScene(client.AgentId);
182 if (s != null) 201 if (s != null)
183 s.EventManager.TriggerIncomingInstantMessage(im); 202 s.EventManager.TriggerIncomingInstantMessage(im);
203 }
184 } 204 }
185 } 205 }
186 206