aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/SQLite/SQLiteUserData.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/Data/SQLite/SQLiteUserData.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/Data/SQLite/SQLiteUserData.cs')
-rw-r--r--OpenSim/Data/SQLite/SQLiteUserData.cs22
1 files changed, 21 insertions, 1 deletions
diff --git a/OpenSim/Data/SQLite/SQLiteUserData.cs b/OpenSim/Data/SQLite/SQLiteUserData.cs
index 82db481..2f0863e 100644
--- a/OpenSim/Data/SQLite/SQLiteUserData.cs
+++ b/OpenSim/Data/SQLite/SQLiteUserData.cs
@@ -332,8 +332,28 @@ namespace OpenSim.Data.SQLite
332 return returnlist; 332 return returnlist;
333 } 333 }
334 334
335 override public Dictionary<UUID, FriendRegionInfo> GetFriendRegionInfos (List<UUID> uuids)
336 {
337 Dictionary<UUID, FriendRegionInfo> infos = new Dictionary<UUID,FriendRegionInfo>();
335 338
336 339 DataTable agents = ds.Tables["useragents"];
340 foreach (UUID uuid in uuids)
341 {
342 lock (ds)
343 {
344 DataRow row = agents.Rows.Find(Util.ToRawUuidString(uuid));
345 if (row == null) infos[uuid] = null;
346 else
347 {
348 FriendRegionInfo fri = new FriendRegionInfo();
349 fri.isOnline = (bool)row["agentOnline"];
350 fri.regionHandle = Convert.ToUInt64(row["currentHandle"]);
351 infos[uuid] = fri;
352 }
353 }
354 }
355 return infos;
356 }
337 357
338 #endregion 358 #endregion
339 359