diff options
Diffstat (limited to 'OpenSim/Services/Interfaces/IHypergridServices.cs')
-rw-r--r-- | OpenSim/Services/Interfaces/IHypergridServices.cs | 60 |
1 files changed, 53 insertions, 7 deletions
diff --git a/OpenSim/Services/Interfaces/IHypergridServices.cs b/OpenSim/Services/Interfaces/IHypergridServices.cs index 05e175a..5e012fb 100644 --- a/OpenSim/Services/Interfaces/IHypergridServices.cs +++ b/OpenSim/Services/Interfaces/IHypergridServices.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -37,25 +37,71 @@ namespace OpenSim.Services.Interfaces | |||
37 | public interface IGatekeeperService | 37 | public interface IGatekeeperService |
38 | { | 38 | { |
39 | bool LinkRegion(string regionDescriptor, out UUID regionID, out ulong regionHandle, out string externalName, out string imageURL, out string reason); | 39 | bool LinkRegion(string regionDescriptor, out UUID regionID, out ulong regionHandle, out string externalName, out string imageURL, out string reason); |
40 | GridRegion GetHyperlinkRegion(UUID regionID); | 40 | |
41 | /// <summary> | ||
42 | /// Returns the region a Hypergrid visitor should enter. | ||
43 | /// </summary> | ||
44 | /// <remarks> | ||
45 | /// Usually the returned region will be the requested region. But the grid can choose to | ||
46 | /// redirect the user to another region: e.g., a default gateway region. | ||
47 | /// </remarks> | ||
48 | /// <param name="regionID">The region the visitor *wants* to enter</param> | ||
49 | /// <param name="agentID">The visitor's User ID. Will be missing (UUID.Zero) in older OpenSims.</param> | ||
50 | /// <param name="agentHomeURI">The visitor's Home URI. Will be missing (null) in older OpenSims.</param> | ||
51 | /// <param name="message">[out] A message to show to the user (optional, may be null)</param> | ||
52 | /// <returns>The region the visitor should enter, or null if no region can be found / is allowed</returns> | ||
53 | GridRegion GetHyperlinkRegion(UUID regionID, UUID agentID, string agentHomeURI, out string message); | ||
41 | 54 | ||
42 | bool LoginAgent(AgentCircuitData aCircuit, GridRegion destination, out string reason); | 55 | bool LoginAgent(GridRegion source, AgentCircuitData aCircuit, GridRegion destination, out string reason); |
43 | 56 | ||
44 | } | 57 | } |
45 | 58 | ||
46 | public interface IUserAgentService | 59 | public interface IUserAgentService |
47 | { | 60 | { |
48 | bool LoginAgentToGrid(AgentCircuitData agent, GridRegion gatekeeper, GridRegion finalDestination, bool fromLogin, out string reason); | 61 | bool LoginAgentToGrid(GridRegion source, AgentCircuitData agent, GridRegion gatekeeper, GridRegion finalDestination, bool fromLogin, out string reason); |
62 | |||
49 | void LogoutAgent(UUID userID, UUID sessionID); | 63 | void LogoutAgent(UUID userID, UUID sessionID); |
64 | |||
65 | /// <summary> | ||
66 | /// Returns the home region of a remote user. | ||
67 | /// </summary> | ||
68 | /// <returns>On success: the user's home region. If the user doesn't exist: null.</returns> | ||
69 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
50 | GridRegion GetHomeRegion(UUID userID, out Vector3 position, out Vector3 lookAt); | 70 | GridRegion GetHomeRegion(UUID userID, out Vector3 position, out Vector3 lookAt); |
71 | |||
72 | /// <summary> | ||
73 | /// Returns the Server URLs of a remote user. | ||
74 | /// </summary> | ||
75 | /// <returns>On success: the user's Server URLs. If the user doesn't exist: an empty dictionary.</returns> | ||
76 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
51 | Dictionary<string, object> GetServerURLs(UUID userID); | 77 | Dictionary<string, object> GetServerURLs(UUID userID); |
52 | Dictionary<string,object> GetUserInfo(UUID userID); | ||
53 | 78 | ||
79 | /// <summary> | ||
80 | /// Returns the UserInfo of a remote user. | ||
81 | /// </summary> | ||
82 | /// <returns>On success: the user's UserInfo. If the user doesn't exist: an empty dictionary.</returns> | ||
83 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
84 | Dictionary<string, object> GetUserInfo(UUID userID); | ||
85 | |||
86 | /// <summary> | ||
87 | /// Returns the current location of a remote user. | ||
88 | /// </summary> | ||
89 | /// <returns>On success: the user's Server URLs. If the user doesn't exist: "".</returns> | ||
90 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
54 | string LocateUser(UUID userID); | 91 | string LocateUser(UUID userID); |
55 | // Tries to get the universal user identifier for the targetUserId | 92 | |
56 | // on behalf of the userID | 93 | /// <summary> |
94 | /// Returns the Universal User Identifier for 'targetUserID' on behalf of 'userID'. | ||
95 | /// </summary> | ||
96 | /// <returns>On success: the user's UUI. If the user doesn't exist: "".</returns> | ||
97 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
57 | string GetUUI(UUID userID, UUID targetUserID); | 98 | string GetUUI(UUID userID, UUID targetUserID); |
58 | 99 | ||
100 | /// <summary> | ||
101 | /// Returns the remote user that has the given name. | ||
102 | /// </summary> | ||
103 | /// <returns>On success: the user's UUID. If the user doesn't exist: UUID.Zero.</returns> | ||
104 | /// <remarks>Throws an exception if an error occurs (e.g., can't contact the server).</remarks> | ||
59 | UUID GetUUID(String first, String last); | 105 | UUID GetUUID(String first, String last); |
60 | 106 | ||
61 | // Returns the local friends online | 107 | // Returns the local friends online |