diff options
Diffstat (limited to 'OpenSim/Data/Null/NullPresenceData.cs')
-rw-r--r-- | OpenSim/Data/Null/NullPresenceData.cs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/OpenSim/Data/Null/NullPresenceData.cs b/OpenSim/Data/Null/NullPresenceData.cs index aff0b0b..ce1404e 100644 --- a/OpenSim/Data/Null/NullPresenceData.cs +++ b/OpenSim/Data/Null/NullPresenceData.cs | |||
@@ -39,7 +39,7 @@ namespace OpenSim.Data.Null | |||
39 | public class NullPresenceData : IPresenceData | 39 | public class NullPresenceData : IPresenceData |
40 | { | 40 | { |
41 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 41 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
42 | 42 | ||
43 | public static NullPresenceData Instance; | 43 | public static NullPresenceData Instance; |
44 | 44 | ||
45 | Dictionary<UUID, PresenceData> m_presenceData = new Dictionary<UUID, PresenceData>(); | 45 | Dictionary<UUID, PresenceData> m_presenceData = new Dictionary<UUID, PresenceData>(); |
@@ -79,6 +79,19 @@ namespace OpenSim.Data.Null | |||
79 | return null; | 79 | return null; |
80 | } | 80 | } |
81 | 81 | ||
82 | public PresenceData GetByUser(UUID userID) | ||
83 | { | ||
84 | if (Instance != this) | ||
85 | return Instance.GetByUser(userID); | ||
86 | |||
87 | if (m_presenceData.ContainsKey(userID)) | ||
88 | { | ||
89 | return m_presenceData[userID]; | ||
90 | } | ||
91 | |||
92 | return null; | ||
93 | } | ||
94 | |||
82 | public void LogoutRegionAgents(UUID regionID) | 95 | public void LogoutRegionAgents(UUID regionID) |
83 | { | 96 | { |
84 | if (Instance != this) | 97 | if (Instance != this) |
@@ -100,7 +113,7 @@ namespace OpenSim.Data.Null | |||
100 | { | 113 | { |
101 | if (Instance != this) | 114 | if (Instance != this) |
102 | return Instance.ReportAgent(sessionID, regionID); | 115 | return Instance.ReportAgent(sessionID, regionID); |
103 | 116 | ||
104 | if (m_presenceData.ContainsKey(sessionID)) | 117 | if (m_presenceData.ContainsKey(sessionID)) |
105 | { | 118 | { |
106 | m_presenceData[sessionID].RegionID = regionID; | 119 | m_presenceData[sessionID].RegionID = regionID; |
@@ -129,7 +142,7 @@ namespace OpenSim.Data.Null | |||
129 | // Console.WriteLine("HOME for " + p.UserID + " is " + (p.Data.ContainsKey("HomeRegionID") ? p.Data["HomeRegionID"] : "Not found")); | 142 | // Console.WriteLine("HOME for " + p.UserID + " is " + (p.Data.ContainsKey("HomeRegionID") ? p.Data["HomeRegionID"] : "Not found")); |
130 | } | 143 | } |
131 | } | 144 | } |
132 | 145 | ||
133 | return presences.ToArray(); | 146 | return presences.ToArray(); |
134 | } | 147 | } |
135 | else if (field == "SessionID") | 148 | else if (field == "SessionID") |
@@ -172,7 +185,7 @@ namespace OpenSim.Data.Null | |||
172 | { | 185 | { |
173 | // m_log.DebugFormat( | 186 | // m_log.DebugFormat( |
174 | // "[NULL PRESENCE DATA]: Deleting presence data for field {0} with parameter {1}", field, data); | 187 | // "[NULL PRESENCE DATA]: Deleting presence data for field {0} with parameter {1}", field, data); |
175 | 188 | ||
176 | if (Instance != this) | 189 | if (Instance != this) |
177 | return Instance.Delete(field, data); | 190 | return Instance.Delete(field, data); |
178 | 191 | ||