From 3b35332957e0d122cdd063ad14d3795856bcd8e5 Mon Sep 17 00:00:00 2001 From: Johan Berntsson Date: Wed, 23 Jul 2008 07:27:11 +0000 Subject: adding files that were not included in r5589 --- .../Communications/ISecureInventoryService.cs | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 OpenSim/Framework/Communications/ISecureInventoryService.cs (limited to 'OpenSim/Framework/Communications') diff --git a/OpenSim/Framework/Communications/ISecureInventoryService.cs b/OpenSim/Framework/Communications/ISecureInventoryService.cs new file mode 100644 index 0000000..0e7861a --- /dev/null +++ b/OpenSim/Framework/Communications/ISecureInventoryService.cs @@ -0,0 +1,125 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections.Generic; +using libsecondlife; +using OpenSim.Framework.Communications.Cache; + +namespace OpenSim.Framework.Communications +{ + + /// + /// Defines all the operations one can perform on a user's inventory. + /// + public interface ISecureInventoryService + { + string Host + { + get; + } + /// + /// Request the inventory for a user. This is an asynchronous operation that will call the callback when the + /// inventory has been received + /// + /// + /// + void RequestInventoryForUser(LLUUID userID, LLUUID session_id, InventoryReceiptCallback callback); + + /// + /// Add a new folder to the user's inventory + /// + /// + /// true if the folder was successfully added + bool AddFolder(InventoryFolderBase folder, LLUUID session_id); + + /// + /// Update a folder in the user's inventory + /// + /// + /// true if the folder was successfully updated + bool UpdateFolder(InventoryFolderBase folder, LLUUID session_id); + + /// + /// Move an inventory folder to a new location + /// + /// A folder containing the details of the new location + /// true if the folder was successfully moved + bool MoveFolder(InventoryFolderBase folder, LLUUID session_id); + + /// + /// Purge an inventory folder of all its items and subfolders. + /// + /// + /// true if the folder was successfully purged + bool PurgeFolder(InventoryFolderBase folder, LLUUID session_id); + + /// + /// Add a new item to the user's inventory + /// + /// + /// true if the item was successfully added + bool AddItem(InventoryItemBase item, LLUUID session_id); + + /// + /// Update an item in the user's inventory + /// + /// + /// true if the item was successfully updated + bool UpdateItem(InventoryItemBase item, LLUUID session_id); + + /// + /// Delete an item from the user's inventory + /// + /// + /// true if the item was successfully deleted + bool DeleteItem(InventoryItemBase item, LLUUID session_id); + + /// + /// Create a new inventory for the given user. + /// + /// + /// true if the inventory was successfully created, false otherwise + bool CreateNewUserInventory(LLUUID user); + + bool HasInventoryForUser(LLUUID userID); + + /// + /// Retrieve the root inventory folder for the given user. + /// + /// + /// null if no root folder was found + InventoryFolderBase RequestRootFolder(LLUUID userID); + + /// + /// Returns a list of all the folders in a given user's inventory. + /// + /// + /// A flat list of the user's inventory folder tree, + /// null if there is no inventory for this user + List GetInventorySkeleton(LLUUID userId); + } +} -- cgit v1.1