aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs
diff options
context:
space:
mode:
authoronefang2019-05-19 21:24:15 +1000
committeronefang2019-05-19 21:24:15 +1000
commit5e4d6cab00cb29cd088ab7b62ab13aff103b64cb (patch)
treea9fbc62df9eb2d1d9ba2698d8552eae71eca20d8 /OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs
parentAdd a build script. (diff)
downloadopensim-SC_OLD-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.zip
opensim-SC_OLD-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.gz
opensim-SC_OLD-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.bz2
opensim-SC_OLD-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.xz
Dump OpenSim 0.9.0.1 into it's own branch.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs69
1 files changed, 50 insertions, 19 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs
index c33a296..71c0a8a 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs
@@ -27,6 +27,7 @@
27using System; 27using System;
28using System.Collections.Generic; 28using System.Collections.Generic;
29using System.Reflection; 29using System.Reflection;
30using System.Timers;
30using log4net; 31using log4net;
31using Mono.Addins; 32using Mono.Addins;
32using Nini.Config; 33using Nini.Config;
@@ -47,15 +48,15 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
47 /// <value> 48 /// <value>
48 /// Is this module enabled? 49 /// Is this module enabled?
49 /// </value> 50 /// </value>
50 private bool m_enabled = false; 51 protected bool m_enabled = false;
51 52
52 private readonly List<Scene> m_scenes = new List<Scene>(); 53 protected readonly List<Scene> m_scenes = new List<Scene>();
53 54
54 #region Region Module interface 55 #region Region Module interface
55 56
56 private IMessageTransferModule m_TransferModule = null; 57 protected IMessageTransferModule m_TransferModule = null;
57 58
58 public void Initialise(IConfigSource config) 59 public virtual void Initialise(IConfigSource config)
59 { 60 {
60 if (config.Configs["Messaging"] != null) 61 if (config.Configs["Messaging"] != null)
61 { 62 {
@@ -64,11 +65,11 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
64 "InstantMessageModule") 65 "InstantMessageModule")
65 return; 66 return;
66 } 67 }
67 68
68 m_enabled = true; 69 m_enabled = true;
69 } 70 }
70 71
71 public void AddRegion(Scene scene) 72 public virtual void AddRegion(Scene scene)
72 { 73 {
73 if (!m_enabled) 74 if (!m_enabled)
74 return; 75 return;
@@ -84,7 +85,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
84 } 85 }
85 } 86 }
86 87
87 public void RegionLoaded(Scene scene) 88 public virtual void RegionLoaded(Scene scene)
88 { 89 {
89 if (!m_enabled) 90 if (!m_enabled)
90 return; 91 return;
@@ -106,7 +107,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
106 } 107 }
107 } 108 }
108 109
109 public void RemoveRegion(Scene scene) 110 public virtual void RemoveRegion(Scene scene)
110 { 111 {
111 if (!m_enabled) 112 if (!m_enabled)
112 return; 113 return;
@@ -117,7 +118,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
117 } 118 }
118 } 119 }
119 120
120 void OnClientConnect(IClientCore client) 121 protected virtual void OnClientConnect(IClientCore client)
121 { 122 {
122 IClientIM clientIM; 123 IClientIM clientIM;
123 if (client.TryGet(out clientIM)) 124 if (client.TryGet(out clientIM))
@@ -126,27 +127,33 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
126 } 127 }
127 } 128 }
128 129
129 public void PostInitialise() 130 public virtual void PostInitialise()
130 { 131 {
131 } 132 }
132 133
133 public void Close() 134 public virtual void Close()
134 { 135 {
135 } 136 }
136 137
137 public string Name 138 public virtual string Name
138 { 139 {
139 get { return "InstantMessageModule"; } 140 get { return "InstantMessageModule"; }
140 } 141 }
141 142
142 public Type ReplaceableInterface 143 public virtual Type ReplaceableInterface
143 { 144 {
144 get { return null; } 145 get { return null; }
145 } 146 }
146 147
147 #endregion 148 #endregion
148 149/*
149 public void OnInstantMessage(IClientAPI client, GridInstantMessage im) 150 public virtual void OnViewerInstantMessage(IClientAPI client, GridInstantMessage im)
151 {
152 im.fromAgentName = client.FirstName + " " + client.LastName;
153 OnInstantMessage(client, im);
154 }
155*/
156 public virtual void OnInstantMessage(IClientAPI client, GridInstantMessage im)
150 { 157 {
151 byte dialog = im.dialog; 158 byte dialog = im.dialog;
152 159
@@ -159,10 +166,34 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
159 return; 166 return;
160 } 167 }
161 168
169 //DateTime dt = DateTime.UtcNow;
170
171 // Ticks from UtcNow, but make it look like local. Evil, huh?
172 //dt = DateTime.SpecifyKind(dt, DateTimeKind.Local);
173
174 //try
175 //{
176 // // Convert that to the PST timezone
177 // TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("America/Los_Angeles");
178 // dt = TimeZoneInfo.ConvertTime(dt, timeZoneInfo);
179 //}
180 //catch
181 //{
182 // //m_log.Info("[OFFLINE MESSAGING]: No PST timezone found on this machine. Saving with local timestamp.");
183 //}
184
185 //// And make it look local again to fool the unix time util
186 //dt = DateTime.SpecifyKind(dt, DateTimeKind.Utc);
187
188 // If client is null, this message comes from storage and IS offline
189 if (client != null)
190 im.offline = 0;
191
192 if (im.offline == 0)
193 im.timestamp = (uint)Util.UnixTimeSinceEpoch();
194
162 if (m_TransferModule != null) 195 if (m_TransferModule != null)
163 { 196 {
164 if (client != null)
165 im.fromAgentName = client.FirstName + " " + client.LastName;
166 m_TransferModule.SendInstantMessage(im, 197 m_TransferModule.SendInstantMessage(im,
167 delegate(bool success) 198 delegate(bool success)
168 { 199 {
@@ -193,7 +224,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
193 /// 224 ///
194 /// </summary> 225 /// </summary>
195 /// <param name="msg"></param> 226 /// <param name="msg"></param>
196 private void OnGridInstantMessage(GridInstantMessage msg) 227 protected virtual void OnGridInstantMessage(GridInstantMessage msg)
197 { 228 {
198 // Just call the Text IM handler above 229 // Just call the Text IM handler above
199 // This event won't be raised unless we have that agent, 230 // This event won't be raised unless we have that agent,