aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/UserManagerBase.cs
diff options
context:
space:
mode:
authorHomer Horwitz2008-11-01 22:09:48 +0000
committerHomer Horwitz2008-11-01 22:09:48 +0000
commit38e8853e5761d09a7e8f580dd277d9b99b834696 (patch)
tree653fe4c9075a03c05a4b5782f7309afa83062e5c /OpenSim/Framework/Communications/UserManagerBase.cs
parent* minor: Remove mono compiler warning (diff)
downloadopensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.zip
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.gz
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.bz2
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.xz
Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends. This adds methods in the DB layer and changes the MessagingServer, so a full update (incl. UGAIM) is necessary to get it working. Older regions shouldn't break, nor should older UGAIM break newer regions, but friends/presence will only work with all concerned parts (UGAIM, source region and destination region) at this revision (or later). I added the DB code for MSSQL, too, but couldn't test that. BEWARE: May contain bugs.
Diffstat (limited to 'OpenSim/Framework/Communications/UserManagerBase.cs')
-rw-r--r--OpenSim/Framework/Communications/UserManagerBase.cs24
1 files changed, 23 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs
index ba9cf27..7189eee 100644
--- a/OpenSim/Framework/Communications/UserManagerBase.cs
+++ b/OpenSim/Framework/Communications/UserManagerBase.cs
@@ -35,6 +35,7 @@ using OpenMetaverse;
35using OpenMetaverse.StructuredData; 35using OpenMetaverse.StructuredData;
36using log4net; 36using log4net;
37using Nwc.XmlRpc; 37using Nwc.XmlRpc;
38using OpenSim.Framework;
38using OpenSim.Framework.Statistics; 39using OpenSim.Framework.Statistics;
39 40
40namespace OpenSim.Framework.Communications 41namespace OpenSim.Framework.Communications
@@ -42,7 +43,7 @@ namespace OpenSim.Framework.Communications
42 /// <summary> 43 /// <summary>
43 /// Base class for user management (create, read, etc) 44 /// Base class for user management (create, read, etc)
44 /// </summary> 45 /// </summary>
45 public abstract class UserManagerBase : IUserService, IUserServiceAdmin, IAvatarService 46 public abstract class UserManagerBase : IUserService, IUserServiceAdmin, IAvatarService, IMessagingService
46 { 47 {
47 private static readonly ILog m_log 48 private static readonly ILog m_log
48 = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 49 = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -285,6 +286,27 @@ namespace OpenSim.Framework.Communications
285 return null; 286 return null;
286 } 287 }
287 288
289 public Dictionary<UUID, FriendRegionInfo> GetFriendRegionInfos (List<UUID> uuids)
290 {
291 foreach (IUserDataPlugin plugin in _plugins)
292 {
293 try
294 {
295 Dictionary<UUID, FriendRegionInfo> result = plugin.GetFriendRegionInfos(uuids);
296
297 if (result != null)
298 {
299 return result;
300 }
301 }
302 catch (Exception e)
303 {
304 m_log.Info("[USERSTORAGE]: Unable to GetFriendRegionInfos via " + plugin.Name + "(" + e.ToString() + ")");
305 }
306 }
307 return null;
308 }
309
288 public void StoreWebLoginKey(UUID agentID, UUID webLoginKey) 310 public void StoreWebLoginKey(UUID agentID, UUID webLoginKey)
289 { 311 {
290 foreach (IUserDataPlugin plugin in _plugins) 312 foreach (IUserDataPlugin plugin in _plugins)