Files
opensim/OpenSim/Region/Communications/Local/LocalInventoryService.cs
lbsa71 5a65521203 == The "right name and place" commit ==
* Moved InventoryData to Framework.Types/InventoryItemBase.cs
* Moved UserData to Framework.Interfaces/IUserData.cs
* Moved UserProfileData to Framework/Types/UserProfileData.cs
* Deleted ass-backwards Framework dependency on Framework.Data (now it's the other way round)
* Changed some namespaces to reflect file structure
2007-10-05 10:14:42 +00:00

68 lines
2.2 KiB
C#

using System.Collections.Generic;
using libsecondlife;
using OpenSim.Framework.Communications;
using OpenSim.Framework.Types;
using InventoryFolder=OpenSim.Framework.Communications.Caches.InventoryFolder;
namespace OpenSim.Region.Communications.Local
{
public class LocalInventoryService : InventoryServiceBase
{
public LocalInventoryService()
{
}
public override void RequestInventoryForUser(LLUUID userID, InventoryFolderInfo folderCallBack, InventoryItemInfo itemCallBack)
{
List<InventoryFolderBase> folders = this.RequestFirstLevelFolders(userID);
InventoryFolder rootFolder = null;
//need to make sure we send root folder first
foreach (InventoryFolderBase folder in folders)
{
if (folder.parentID == libsecondlife.LLUUID.Zero)
{
InventoryFolder newfolder = new InventoryFolder(folder);
rootFolder = newfolder;
folderCallBack(userID, newfolder);
}
}
if (rootFolder != null)
{
foreach (InventoryFolderBase folder in folders)
{
if (folder.folderID != rootFolder.folderID)
{
InventoryFolder newfolder = new InventoryFolder(folder);
folderCallBack(userID, newfolder);
List<InventoryItemBase> items = this.RequestFolderItems(newfolder.folderID);
foreach (InventoryItemBase item in items)
{
itemCallBack(userID, item);
}
}
}
}
}
public override void AddNewInventoryFolder(LLUUID userID, InventoryFolder folder)
{
this.AddFolder(folder);
}
public override void AddNewInventoryItem(LLUUID userID, InventoryItemBase item)
{
this.AddItem(item);
}
public override void DeleteInventoryItem(LLUUID userID, InventoryItemBase item)
{
this.deleteItem(item);
}
}
}