using System; using System.Collections.Generic; using System.Text; using libsecondlife; namespace OpenGrid.Framework.Data { public class InventoryItemBase { public LLUUID inventoryID; public LLUUID assetID; public int type; public LLUUID parentFolderID; public LLUUID avatarID; public string inventoryName; public string inventoryDescription; public uint inventoryNextPermissions; public uint inventoryCurrentPermissions; } public class InventoryFolderBase { public string name; public LLUUID agentID; public LLUUID parentID; public LLUUID folderID; } public interface IInventoryData { /// /// Initialises the interface /// void Initialise(); /// /// Closes the interface /// void Close(); /// /// The plugin being loaded /// /// A string containing the plugin name string getName(); /// /// The plugins version /// /// A string containing the plugin version string getVersion(); /// /// Returns a list of inventory items contained within the specified folder /// /// The UUID of the target folder /// A List of InventoryItemBase items List getInventoryInFolder(LLUUID folderID); /// /// Returns a list of folders in the users inventory root. /// /// The UUID of the user who is having inventory being returned /// A list of folders List getUserRootFolders(LLUUID user); /// /// Returns a list of inventory folders contained in the folder 'parentID' /// /// The folder to get subfolders for /// A list of inventory folders List getInventoryFolders(LLUUID parentID); /// /// Returns an inventory item by its UUID /// /// The UUID of the item to be returned /// A class containing item information InventoryItemBase getInventoryItem(LLUUID item); /// /// Returns a specified inventory folder by its UUID /// /// The UUID of the folder to be returned /// A class containing folder information InventoryFolderBase getInventoryFolder(LLUUID folder); /// /// Creates a new inventory item based on item /// /// The item to be created void addInventoryItem(InventoryItemBase item); /// /// Updates an inventory item with item (updates based on ID) /// /// The updated item void updateInventoryItem(InventoryItemBase item); /// /// Adds a new folder specified by folder /// /// The inventory folder void addInventoryFolder(InventoryFolderBase folder); /// /// Updates a folder based on its ID with folder /// /// The inventory folder void updateInventoryFolder(InventoryFolderBase folder); } }