Added two new methods to IIventoryService -- GetFolderForType and GetFolderContent. Some meat to it, but not completed. None of this code is called anywhere yet.

This commit is contained in:
Diva Canto
2009-08-10 20:31:51 -07:00
parent 9f95ec4998
commit cdcbc48534
10 changed files with 261 additions and 7 deletions

View File

@@ -201,6 +201,32 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
}
}
public InventoryFolderBase GetFolderForType(UUID userID, AssetType type)
{
if (IsLocalGridUser(userID))
return m_GridService.GetFolderForType(userID, type);
else
{
UUID sessionID = GetSessionID(userID);
string uri = GetUserInventoryURI(userID) + "/" + userID.ToString();
// !!!!!!
return null;
//return m_HGService.GetFolderForType(uri, sessionID, type);
}
}
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
{
if (IsLocalGridUser(userID))
return m_GridService.GetFolderContent(userID, folderID);
else
{
UUID sessionID = GetSessionID(userID);
string uri = GetUserInventoryURI(userID) + "/" + userID.ToString();
return m_HGService.GetFolderContent(uri, folderID, sessionID);
}
}
public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)
{
return new List<InventoryItemBase>();

View File

@@ -176,6 +176,17 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
m_InventoryService.GetUserInventory(userID, callback);
}
public InventoryFolderBase GetFolderForType(UUID userID, AssetType type)
{
return m_InventoryService.GetFolderForType(userID, type);
}
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
{
return m_InventoryService.GetFolderContent(userID, folderID);
}
public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)
{
return m_InventoryService.GetFolderItems(userID, folderID);

View File

@@ -168,6 +168,44 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
}
public InventoryFolderBase GetFolderForType(UUID userID, AssetType type)
{
//UUID sessionID = GetSessionID(userID);
//List<InventoryFolderBase> sysFolders;
//try
//{
// sysFolders = m_RemoteConnector.GetSystemFolders(userID.ToString(), sessionID);
//}
//catch (Exception e)
//{
// m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetFolderForType operation failed, {0} {1}",
// e.Source, e.Message);
//}
// PLACEHOLDER UNTIL CACHE IS DONE
return null;
}
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
{
UUID sessionID = GetSessionID(userID);
try
{
return m_RemoteConnector.GetFolderContent(userID.ToString(), folderID, sessionID);
}
catch (Exception e)
{
m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetFolderContent operation failed, {0} {1}",
e.Source, e.Message);
}
InventoryCollection nullCollection = new InventoryCollection();
nullCollection.Folders = new List<InventoryFolderBase>();
nullCollection.Items = new List<InventoryItemBase>();
nullCollection.UserID = userID;
return nullCollection;
}
public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)
{
return new List<InventoryItemBase>();