From 8143c597fc5f62ec0d931d2d5b887730e06aec04 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Thu, 27 Sep 2007 13:25:45 +0000
Subject: * Tleiades grid mode inventory (#444) - thanx Tleiades! * updated
to rev 1413 on libsecondlife.dll and libsecondlife.dll.config (#423)
---
.../Framework/Data.SQLite/SQLiteInventoryStore.cs | 61 +++++++++++-----------
1 file changed, 30 insertions(+), 31 deletions(-)
(limited to 'OpenSim/Framework/Data.SQLite')
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
index d3d752f..cac992c 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
@@ -61,6 +61,7 @@ namespace OpenSim.Framework.Data.SQLite
MainLog.Instance.Verbose("DATASTORE", "Populated Intentory Items Definitions");
ds.AcceptChanges();
+
return;
}
@@ -195,43 +196,16 @@ namespace OpenSim.Framework.Data.SQLite
/// A list of folder objects
public List getUserRootFolders(LLUUID user)
{
- return null;
- }
-
- ///
- /// Returns the users inventory root folder.
- ///
- /// The UUID of the user who is having inventory being returned
- /// Root inventory folder
- public InventoryFolderBase getUserRootFolder(LLUUID user)
- {
List folders = new List();
DataTable inventoryFolderTable = ds.Tables["inventoryfolders"];
- string selectExp = "agentID = '" + user.ToString() + "' AND parentID = '" + LLUUID.Zero.ToString() + "'";
+
+ string selectExp = "parentID = '" + LLUUID.Zero.ToString() + "' AND (agentID = '" + user.ToString() + "' OR category = 0)";
DataRow[] rows = inventoryFolderTable.Select(selectExp);
foreach (DataRow row in rows)
{
folders.Add(this.buildFolder(row));
}
-
- if (folders.Count == 1)
- {
- //we found the root
- //System.Console.WriteLine("found root inventory folder");
- return folders[0];
- }
- else if (folders.Count > 1)
- {
- //err shouldn't be more than one root
- //System.Console.WriteLine("found more than one root inventory folder");
- }
- else if (folders.Count == 0)
- {
- // no root?
- //System.Console.WriteLine("couldn't find root inventory folder");
- }
-
- return null;
+ return folders;
}
///
@@ -270,7 +244,14 @@ namespace OpenSim.Framework.Data.SQLite
/// A class containing folder information
public InventoryFolderBase getInventoryFolder(LLUUID folder)
{
- return null;
+ DataTable inventoryFolderTable = ds.Tables["inventoryfolders"];
+ string selectExp = "UUID = '" + folder.ToString() + "'";
+ DataRow[] rows = inventoryFolderTable.Select(selectExp);
+
+ if (rows.Length == 1)
+ return this.buildFolder(rows[0]);
+ else
+ return null;
}
///
@@ -308,6 +289,11 @@ namespace OpenSim.Framework.Data.SQLite
this.invItemsDa.Update(ds, "inventoryitems");
}
+ //TODO! Implement SQLite deleteInventoryCategory
+ public void deleteInventoryCategory(InventoryCategory inventoryCategory)
+ {
+ }
+
///
/// Adds a new folder specified by folder
///
@@ -326,6 +312,11 @@ namespace OpenSim.Framework.Data.SQLite
this.addFolder(folder);
}
+ //TODO! implement CreateNewUserInventory
+ public void CreateNewUserInventory(LLUUID user)
+ {
+ throw new Exception("Function not implemented");
+ }
/***********************************************************************
*
@@ -350,6 +341,7 @@ namespace OpenSim.Framework.Data.SQLite
createCol(inv, "parentFolderID", typeof(System.String));
createCol(inv, "avatarID", typeof(System.String));
createCol(inv, "creatorsID", typeof(System.String));
+ createCol(inv, "category", typeof(System.Byte));
createCol(inv, "inventoryName", typeof(System.String));
createCol(inv, "inventoryDescription", typeof(System.String));
@@ -373,6 +365,7 @@ namespace OpenSim.Framework.Data.SQLite
createCol(fol, "parentID", typeof(System.String));
createCol(fol, "type", typeof(System.Int32));
createCol(fol, "version", typeof(System.Int32));
+ createCol(fol, "category", typeof(System.Byte));
fol.PrimaryKey = new DataColumn[] { fol.Columns["UUID"] };
return fol;
@@ -415,6 +408,7 @@ namespace OpenSim.Framework.Data.SQLite
folder.parentID = new LLUUID((string)row["parentID"]);
folder.type = Convert.ToInt16(row["type"]);
folder.version = Convert.ToUInt16(row["version"]);
+ folder.category = (InventoryCategory)Convert.ToByte(row["category"]);
return folder;
}
@@ -426,6 +420,7 @@ namespace OpenSim.Framework.Data.SQLite
row["parentID"] = folder.parentID;
row["type"] = folder.type;
row["version"] = folder.version;
+ row["category"] = folder.category;
}
@@ -644,3 +639,7 @@ namespace OpenSim.Framework.Data.SQLite
}
}
+
+
+
+
--
cgit v1.1