aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-11-20 10:11:57 +0000
committerJustin Clark-Casey (justincc)2012-11-20 10:11:57 +0000
commitea65a64f7b1867780261c2a01a6323e057ddc097 (patch)
treee07abbcc4a3745d543f3aca4775a9e41a2b7cc82 /OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
parentAdd Iain Oliver to CONTRIBUTORS.txt (diff)
downloadopensim-SC_OLD-ea65a64f7b1867780261c2a01a6323e057ddc097.zip
opensim-SC_OLD-ea65a64f7b1867780261c2a01a6323e057ddc097.tar.gz
opensim-SC_OLD-ea65a64f7b1867780261c2a01a6323e057ddc097.tar.bz2
opensim-SC_OLD-ea65a64f7b1867780261c2a01a6323e057ddc097.tar.xz
refactor: Move common presence connector code into BasePresenceServiceConnector
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs113
1 files changed, 7 insertions, 106 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
index d8bed1b..db5c520 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
@@ -24,53 +24,29 @@
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27
27using System; 28using System;
28using System.Collections.Generic; 29using System.Collections.Generic;
29using System.Reflection; 30using System.Reflection;
30 31using log4net;
32using Mono.Addins;
33using Nini.Config;
34using OpenMetaverse;
31using OpenSim.Region.Framework.Interfaces; 35using OpenSim.Region.Framework.Interfaces;
32using OpenSim.Region.Framework.Scenes; 36using OpenSim.Region.Framework.Scenes;
33using OpenSim.Server.Base; 37using OpenSim.Server.Base;
34using OpenSim.Services.Interfaces; 38using OpenSim.Services.Interfaces;
35using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; 39using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
36 40
37using OpenMetaverse;
38using log4net;
39using Mono.Addins;
40using Nini.Config;
41
42namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence 41namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
43{ 42{
44 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalPresenceServicesConnector")] 43 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "LocalPresenceServicesConnector")]
45 public class LocalPresenceServicesConnector : ISharedRegionModule, IPresenceService 44 public class LocalPresenceServicesConnector : BasePresenceServiceConnector, ISharedRegionModule, IPresenceService
46 { 45 {
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 47
49 private bool m_Enabled = false;
50
51 private PresenceDetector m_PresenceDetector;
52
53 /// <summary>
54 /// Underlying presence service. Do not use directly.
55 /// </summary>
56 public IPresenceService m_PresenceService;
57
58 public LocalPresenceServicesConnector()
59 {
60 }
61
62 public LocalPresenceServicesConnector(IConfigSource source)
63 {
64 Initialise(source);
65 }
66
67 #region ISharedRegionModule 48 #region ISharedRegionModule
68 49
69 public Type ReplaceableInterface
70 {
71 get { return null; }
72 }
73
74 public string Name 50 public string Name
75 { 51 {
76 get { return "LocalPresenceServicesConnector"; } 52 get { return "LocalPresenceServicesConnector"; }
@@ -121,81 +97,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
121 } 97 }
122 } 98 }
123 99
124 public void PostInitialise()
125 {
126 }
127
128 public void Close()
129 {
130 }
131
132 public void AddRegion(Scene scene)
133 {
134 if (!m_Enabled)
135 return;
136
137 // m_log.DebugFormat(
138 // "[LOCAL PRESENCE CONNECTOR]: Registering IPresenceService to scene {0}", scene.RegionInfo.RegionName);
139
140 scene.RegisterModuleInterface<IPresenceService>(this);
141 m_PresenceDetector.AddRegion(scene);
142
143 m_log.InfoFormat("[LOCAL PRESENCE CONNECTOR]: Enabled local presence for region {0}", scene.RegionInfo.RegionName);
144
145 }
146
147 public void RemoveRegion(Scene scene)
148 {
149 if (!m_Enabled)
150 return;
151
152 m_PresenceDetector.RemoveRegion(scene);
153 }
154
155 public void RegionLoaded(Scene scene)
156 {
157 if (!m_Enabled)
158 return;
159
160 }
161
162 #endregion 100 #endregion
163
164 #region IPresenceService
165
166 public bool LoginAgent(string userID, UUID sessionID, UUID secureSessionID)
167 {
168 m_log.Warn("[LOCAL PRESENCE CONNECTOR]: LoginAgent connector not implemented at the simulators");
169 return false;
170 }
171
172 public bool LogoutAgent(UUID sessionID)
173 {
174 return m_PresenceService.LogoutAgent(sessionID);
175 }
176
177
178 public bool LogoutRegionAgents(UUID regionID)
179 {
180 return m_PresenceService.LogoutRegionAgents(regionID);
181 }
182
183 public bool ReportAgent(UUID sessionID, UUID regionID)
184 {
185 return m_PresenceService.ReportAgent(sessionID, regionID);
186 }
187
188 public PresenceInfo GetAgent(UUID sessionID)
189 {
190 return m_PresenceService.GetAgent(sessionID);
191 }
192
193 public PresenceInfo[] GetAgents(string[] userIDs)
194 {
195 return m_PresenceService.GetAgents(userIDs);
196 }
197
198 #endregion
199
200 } 101 }
201} 102} \ No newline at end of file