/Aurora/Framework/Modules/IInventoryAccessModule.cs
C# | 92 lines | 21 code | 10 blank | 61 comment | 0 complexity | 2ef000b011ef765c62379aba2c7e2457 MD5 | raw file
1/* 2 * Copyright (c) Contributors, http://aurora-sim.org/, http://opensimulator.org/ 3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * * Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * * Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * * Neither the name of the Aurora-Sim Project nor the 13 * names of its contributors may be used to endorse or promote products 14 * derived from this software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28using System.Collections.Generic; 29using OpenMetaverse; 30 31namespace Aurora.Framework 32{ 33 public interface IInventoryAccessModule 34 { 35 string CapsUpdateInventoryItemAsset(IClientAPI remoteClient, UUID itemID, byte[] data); 36 37 UUID DeleteToInventory(DeRezAction action, UUID folderID, List<ISceneEntity> objectGroups, UUID agentId, 38 out UUID itemID); 39 40 /// <summary> 41 /// Saves the given objects as an asset and returns the UUID of it 42 /// </summary> 43 /// <param name="list"></param> 44 /// <param name="asset"></param> 45 /// <returns></returns> 46 UUID SaveAsAsset(List<ISceneEntity> list, out AssetBase asset); 47 48 /// <summary> 49 /// Create a SceneObjectGroup representation of an asset xml of the given item 50 /// </summary> 51 /// <param name = "remoteClient"></param> 52 /// <param name = "itemID"></param> 53 /// <param name = "item"></param> 54 /// <returns></returns> 55 ISceneEntity CreateObjectFromInventory(IClientAPI remoteClient, UUID itemID, out InventoryItemBase item); 56 57 /// <summary> 58 /// Create a SceneObjectGroup representation of an asset xml of the given item 59 /// </summary> 60 /// <param name = "remoteClient"></param> 61 /// <param name = "itemID"></param> 62 /// <returns></returns> 63 ISceneEntity CreateObjectFromInventory(IClientAPI remoteClient, UUID itemID, UUID assetID); 64 65 /// <summary> 66 /// Rez an object from inventory and add it to the scene 67 /// </summary> 68 /// <param name = "remoteClient"></param> 69 /// <param name = "itemID"></param> 70 /// <param name = "RayEnd"></param> 71 /// <param name = "RayStart"></param> 72 /// <param name = "RayTargetID"></param> 73 /// <param name = "BypassRayCast"></param> 74 /// <param name = "RayEndIsIntersection"></param> 75 /// <param name = "RezSelected"></param> 76 /// <param name = "RemoveItem"></param> 77 /// <param name = "fromTaskID"></param> 78 /// <returns></returns> 79 ISceneEntity RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 80 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 81 bool RezSelected, bool RemoveItem, UUID fromTaskID); 82 83 bool GetAgentInventoryItem(IClientAPI remoteClient, UUID itemID, UUID requestID); 84 85 // Must be here because of textures in user's inventory 86 bool IsForeignUser(UUID userID, out string assetServerURL); 87 88 //For mega-regions... after they are fixed, this can be removed 89 void OnNewClient(IClientAPI client); 90 void OnClosingClient(IClientAPI client); 91 } 92}