opensim – 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.Services.Interfaces;
30 using GridRegion = OpenSim.Services.Interfaces.GridRegion;
31  
32 using OpenMetaverse;
33 using OpenSim.Framework;
34 using OpenSim.Region.Framework.Scenes;
35  
36 namespace OpenSim.Region.Framework.Interfaces
37 {
38 public delegate ScenePresence CrossAgentToNewRegionDelegate(ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, string version);
39  
40 public interface IEntityTransferModule
41 {
42 /// <summary>
43 /// Teleport an agent within the same or to a different region.
44 /// </summary>
45 /// <param name='agent'></param>
46 /// <param name='regionHandle'>
47 /// The handle of the destination region. If it's the same as the region currently
48 /// occupied by the agent then the teleport will be within that region.
49 /// </param>
50 /// <param name='agent'></param>
51 /// <param name='regionHandle'></param>
52 /// <param name='position'></param>
53 /// <param name='lookAt'></param>
54 /// <param name='teleportFlags'></param>
55 void Teleport(ScenePresence agent, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags);
56  
57 /// <summary>
58 /// Teleports the agent for the given client to their home destination.
59 /// </summary>
60 /// <param name='id'></param>
61 /// <param name='client'></param>
62 bool TeleportHome(UUID id, IClientAPI client);
63  
64 /// <summary>
65 /// Teleport an agent directly to a given region without checking whether the region should be substituted.
66 /// </summary>
67 /// <remarks>
68 /// Please use Teleport() instead unless you know exactly what you're doing.
69 /// Do not use for same region teleports.
70 /// </remarks>
71 /// <param name='sp'></param>
72 /// <param name='reg'></param>
73 /// <param name='finalDestination'>/param>
74 /// <param name='position'></param>
75 /// <param name='lookAt'></param>
76 /// <param name='teleportFlags'></param>
77 void DoTeleport(ScenePresence sp, GridRegion reg, GridRegion finalDestination,
78 Vector3 position, Vector3 lookAt, uint teleportFlags);
79  
80 /// <summary>
81 /// Show whether the given agent is being teleported.
82 /// </summary>
83 /// <param name='id'>The agent ID</para></param>
84 /// <returns>true if the agent is in the process of being teleported, false otherwise.</returns>
85 bool IsInTransit(UUID id);
86  
87 bool Cross(ScenePresence agent, bool isFlying);
88  
89 void AgentArrivedAtDestination(UUID agent);
90  
91 void EnableChildAgents(ScenePresence agent);
92  
93 void EnableChildAgent(ScenePresence agent, GridRegion region);
94  
95 GridRegion GetDestination(Scene scene, UUID agentID, Vector3 pos, out string version, out Vector3 newpos);
96  
97 void Cross(SceneObjectGroup sog, Vector3 position, bool silent);
98  
99 ScenePresence CrossAgentToNewRegionAsync(ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, string version);
100 }
101  
102 public interface IUserAgentVerificationModule
103 {
104 bool VerifyClient(AgentCircuitData aCircuit, string token);
105 }
106 }