opensim-development – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 eva 1 /*
2 * Copyright (c) Contributors, 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 OpenSimulator 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  
28 using System;
29 using OpenSim.Framework;
30 using OpenMetaverse;
31  
32 using GridRegion = OpenSim.Services.Interfaces.GridRegion;
33  
34 namespace OpenSim.Services.Interfaces
35 {
36 public interface ISimulationService
37 {
38 /// <summary>
39 /// Retrieve the scene with the given region ID.
40 /// </summary>
41 /// <param name='regionId'>
42 /// Region identifier.
43 /// </param>
44 /// <returns>
45 /// The scene.
46 /// </returns>
47 IScene GetScene(UUID regionId);
48  
49 ISimulationService GetInnerService();
50  
51 #region Agents
52  
53 /// <summary>
54 /// Ask the simulator hosting the destination to create an agent on that region.
55 /// </summary>
56 /// <param name="destination"></param>
57 /// <param name="aCircuit"></param>
58 /// <param name="flags"></param>
59 /// <param name="reason">Reason message in the event of a failure.</param>
60 bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason);
61  
62 /// <summary>
63 /// Full child agent update.
64 /// </summary>
65 /// <param name="regionHandle"></param>
66 /// <param name="data"></param>
67 /// <returns></returns>
68 bool UpdateAgent(GridRegion destination, AgentData data);
69  
70 /// <summary>
71 /// Short child agent update, mostly for position.
72 /// </summary>
73 /// <param name="regionHandle"></param>
74 /// <param name="data"></param>
75 /// <returns></returns>
76 bool UpdateAgent(GridRegion destination, AgentPosition data);
77  
78 bool QueryAccess(GridRegion destination, UUID id, Vector3 position, out string version, out string reason);
79  
80 /// <summary>
81 /// Message from receiving region to departing region, telling it got contacted by the client.
82 /// When sent over REST, it invokes the opaque uri.
83 /// </summary>
84 /// <param name="regionHandle"></param>
85 /// <param name="id"></param>
86 /// <param name="uri"></param>
87 /// <returns></returns>
88 bool ReleaseAgent(UUID originRegion, UUID id, string uri);
89  
90 /// <summary>
91 /// Close agent.
92 /// </summary>
93 /// <param name="regionHandle"></param>
94 /// <param name="id"></param>
95 /// <returns></returns>
96 bool CloseAgent(GridRegion destination, UUID id, string auth_token);
97  
98 #endregion Agents
99  
100 #region Objects
101  
102 /// <summary>
103 /// Create an object in the destination region. This message is used primarily for prim crossing.
104 /// </summary>
105 /// <param name="regionHandle"></param>
106 /// <param name="sog"></param>
107 /// <param name="isLocalCall"></param>
108 /// <returns></returns>
109 bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall);
110  
111 #endregion Objects
112  
113 }
114 }