diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Client/Linden/LLProxyLoginModule.cs | 50 |
1 files changed, 39 insertions, 11 deletions
diff --git a/OpenSim/Client/Linden/LLProxyLoginModule.cs b/OpenSim/Client/Linden/LLProxyLoginModule.cs index fd8c4dd..b7b9adb 100644 --- a/OpenSim/Client/Linden/LLProxyLoginModule.cs +++ b/OpenSim/Client/Linden/LLProxyLoginModule.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 | * |
@@ -48,7 +48,7 @@ namespace OpenSim.Client.Linden | |||
48 | /// <summary> | 48 | /// <summary> |
49 | /// Handles login user (expect user) and logoff user messages from the remote LL login server | 49 | /// Handles login user (expect user) and logoff user messages from the remote LL login server |
50 | /// </summary> | 50 | /// </summary> |
51 | public class LLProxyLoginModule : IRegionModule | 51 | public class LLProxyLoginModule : ISharedRegionModule |
52 | { | 52 | { |
53 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 53 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
54 | 54 | ||
@@ -74,18 +74,21 @@ namespace OpenSim.Client.Linden | |||
74 | 74 | ||
75 | #region IRegionModule Members | 75 | #region IRegionModule Members |
76 | 76 | ||
77 | public void Initialise(Scene scene, IConfigSource source) | 77 | public void Initialise(IConfigSource source) |
78 | { | ||
79 | IConfig startupConfig = source.Configs["Startup"]; | ||
80 | if (startupConfig != null) | ||
81 | { | ||
82 | m_enabled = startupConfig.GetBoolean("gridmode", false); | ||
83 | } | ||
84 | } | ||
85 | |||
86 | public void AddRegion(Scene scene) | ||
78 | { | 87 | { |
79 | if (m_firstScene == null) | 88 | if (m_firstScene == null) |
80 | { | 89 | { |
81 | m_firstScene = scene; | 90 | m_firstScene = scene; |
82 | 91 | ||
83 | IConfig startupConfig = source.Configs["Startup"]; | ||
84 | if (startupConfig != null) | ||
85 | { | ||
86 | m_enabled = startupConfig.GetBoolean("gridmode", false); | ||
87 | } | ||
88 | |||
89 | if (m_enabled) | 92 | if (m_enabled) |
90 | { | 93 | { |
91 | AddHttpHandlers(); | 94 | AddHttpHandlers(); |
@@ -96,6 +99,15 @@ namespace OpenSim.Client.Linden | |||
96 | { | 99 | { |
97 | AddScene(scene); | 100 | AddScene(scene); |
98 | } | 101 | } |
102 | |||
103 | } | ||
104 | |||
105 | public void RemoveRegion(Scene scene) | ||
106 | { | ||
107 | if (m_enabled) | ||
108 | { | ||
109 | RemoveScene(scene); | ||
110 | } | ||
99 | } | 111 | } |
100 | 112 | ||
101 | public void PostInitialise() | 113 | public void PostInitialise() |
@@ -108,6 +120,11 @@ namespace OpenSim.Client.Linden | |||
108 | 120 | ||
109 | } | 121 | } |
110 | 122 | ||
123 | public void RegionLoaded(Scene scene) | ||
124 | { | ||
125 | |||
126 | } | ||
127 | |||
111 | public string Name | 128 | public string Name |
112 | { | 129 | { |
113 | get { return "LLProxyLoginModule"; } | 130 | get { return "LLProxyLoginModule"; } |
@@ -140,6 +157,17 @@ namespace OpenSim.Client.Linden | |||
140 | } | 157 | } |
141 | } | 158 | } |
142 | } | 159 | } |
160 | |||
161 | protected void RemoveScene(Scene scene) | ||
162 | { | ||
163 | lock (m_scenes) | ||
164 | { | ||
165 | if (m_scenes.Contains(scene)) | ||
166 | { | ||
167 | m_scenes.Remove(scene); | ||
168 | } | ||
169 | } | ||
170 | } | ||
143 | /// <summary> | 171 | /// <summary> |
144 | /// Received from the user server when a user starts logging in. This call allows | 172 | /// Received from the user server when a user starts logging in. This call allows |
145 | /// the region to prepare for direct communication from the client. Sends back an empty | 173 | /// the region to prepare for direct communication from the client. Sends back an empty |
@@ -200,7 +228,7 @@ namespace OpenSim.Client.Linden | |||
200 | { | 228 | { |
201 | bool success = false; | 229 | bool success = false; |
202 | string denyMess = ""; | 230 | string denyMess = ""; |
203 | 231 | ||
204 | Scene scene; | 232 | Scene scene; |
205 | if (TryGetRegion(regionHandle, out scene)) | 233 | if (TryGetRegion(regionHandle, out scene)) |
206 | { | 234 | { |
@@ -226,7 +254,7 @@ namespace OpenSim.Client.Linden | |||
226 | agentData.firstname, agentData.lastname); | 254 | agentData.firstname, agentData.lastname); |
227 | } | 255 | } |
228 | } | 256 | } |
229 | 257 | ||
230 | } | 258 | } |
231 | else | 259 | else |
232 | { | 260 | { |