PageRenderTime 35ms CodeModel.GetById 31ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Aurora/Framework/Modules/IInventoryAccessModule.cs

https://bitbucket.org/VirtualReality/software-testing
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}