clockwerk-opensim – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 vero 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="source">The region that the user is coming from. Will be null if the user
57 /// logged-in directly, or arrived from a simulator that doesn't send this parameter.</param>
58 /// <param name="destination"></param>
59 /// <param name="aCircuit"></param>
60 /// <param name="flags"></param>
61 /// <param name="reason">Reason message in the event of a failure.</param>
62 bool CreateAgent(GridRegion source, GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason);
63  
64 /// <summary>
65 /// Full child agent update.
66 /// </summary>
67 /// <param name="regionHandle"></param>
68 /// <param name="data"></param>
69 /// <returns></returns>
70 bool UpdateAgent(GridRegion destination, AgentData data);
71  
72 /// <summary>
73 /// Short child agent update, mostly for position.
74 /// </summary>
75 /// <param name="regionHandle"></param>
76 /// <param name="data"></param>
77 /// <returns></returns>
78 bool UpdateAgent(GridRegion destination, AgentPosition data);
79  
80 /// <summary>
81 /// Returns whether a propspective user is allowed to visit the region.
82 /// </summary>
83 /// <param name="destination">Desired destination</param>
84 /// <param name="agentID">The visitor's User ID</param>
85 /// <param name="agentHomeURI">The visitor's Home URI. Will be missing (null) in older OpenSims.</param>
86 /// <param name="viaTeleport">True: via teleport; False: via cross (walking)</param>
87 /// <param name="position">Position in the region</param>
88 /// <param name="sversion">
89 /// Version that the requesting simulator is runing. If null then no version check is carried out.
90 /// </param>
91 /// <param name="version">Version that the target simulator is running</param>
92 /// <param name="reason">[out] Optional error message</param>
93 /// <returns>True: ok; False: not allowed</returns>
94 bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, out string version, out string reason);
95  
96 /// <summary>
97 /// Message from receiving region to departing region, telling it got contacted by the client.
98 /// When sent over REST, it invokes the opaque uri.
99 /// </summary>
100 /// <param name="regionHandle"></param>
101 /// <param name="id"></param>
102 /// <param name="uri"></param>
103 /// <returns></returns>
104 bool ReleaseAgent(UUID originRegion, UUID id, string uri);
105  
106 /// <summary>
107 /// Close agent.
108 /// </summary>
109 /// <param name="regionHandle"></param>
110 /// <param name="id"></param>
111 /// <returns></returns>
112 bool CloseAgent(GridRegion destination, UUID id, string auth_token);
113  
114 #endregion Agents
115  
116 #region Objects
117  
118 /// <summary>
119 /// Create an object in the destination region. This message is used primarily for prim crossing.
120 /// </summary>
121 /// <param name="regionHandle"></param>
122 /// <param name="sog"></param>
123 /// <param name="isLocalCall"></param>
124 /// <returns></returns>
125 bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall);
126  
127 #endregion Objects
128  
129 }
130 }