aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Client/Linden/LLClientStackModule.cs24
-rw-r--r--OpenSim/Client/Linden/LLProxyLoginModule.cs50
-rw-r--r--OpenSim/Client/Linden/LLStandaloneLoginModule.cs72
-rw-r--r--OpenSim/Client/Linden/Resources/LindenModules.addin.xml15
4 files changed, 125 insertions, 36 deletions
diff --git a/OpenSim/Client/Linden/LLClientStackModule.cs b/OpenSim/Client/Linden/LLClientStackModule.cs
index 461c651..74612bb 100644
--- a/OpenSim/Client/Linden/LLClientStackModule.cs
+++ b/OpenSim/Client/Linden/LLClientStackModule.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 *
@@ -41,7 +41,7 @@ using OpenSim.Region.Framework.Interfaces;
41 41
42namespace OpenSim.Client.Linden 42namespace OpenSim.Client.Linden
43{ 43{
44 public class LLClientStackModule : IRegionModule 44 public class LLClientStackModule : INonSharedRegionModule
45 { 45 {
46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 47
@@ -55,11 +55,10 @@ namespace OpenSim.Client.Linden
55 55
56 protected string m_clientStackDll = "OpenSim.Region.ClientStack.LindenUDP.dll"; 56 protected string m_clientStackDll = "OpenSim.Region.ClientStack.LindenUDP.dll";
57 57
58 public void Initialise(Scene scene, IConfigSource source) 58 public void Initialise(IConfigSource source)
59 { 59 {
60 if (m_scene == null) 60 if (m_scene == null)
61 { 61 {
62 m_scene = scene;
63 m_source = source; 62 m_source = source;
64 63
65 IConfig startupConfig = m_source.Configs["Startup"]; 64 IConfig startupConfig = m_source.Configs["Startup"];
@@ -70,8 +69,23 @@ namespace OpenSim.Client.Linden
70 } 69 }
71 } 70 }
72 71
73 public void PostInitialise() 72 public void AddRegion(Scene scene)
74 { 73 {
74
75 }
76
77 public void RemoveRegion(Scene scene)
78 {
79
80 }
81
82 public void RegionLoaded(Scene scene)
83 {
84 if (m_scene == null)
85 {
86 m_scene = scene;
87 }
88
75 if ((m_scene != null) && (m_createClientStack)) 89 if ((m_scene != null) && (m_createClientStack))
76 { 90 {
77 m_log.Info("[LLClientStackModule] Starting up LLClientStack."); 91 m_log.Info("[LLClientStackModule] Starting up LLClientStack.");
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 {
diff --git a/OpenSim/Client/Linden/LLStandaloneLoginModule.cs b/OpenSim/Client/Linden/LLStandaloneLoginModule.cs
index dbc401b..6474feb 100644
--- a/OpenSim/Client/Linden/LLStandaloneLoginModule.cs
+++ b/OpenSim/Client/Linden/LLStandaloneLoginModule.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 *
@@ -44,7 +44,7 @@ using OpenSim.Region.Framework.Interfaces;
44 44
45namespace OpenSim.Client.Linden 45namespace OpenSim.Client.Linden
46{ 46{
47 public class LLStandaloneLoginModule : IRegionModule, ILoginServiceToRegionsConnector 47 public class LLStandaloneLoginModule : ISharedRegionModule, ILoginServiceToRegionsConnector
48 { 48 {
49 //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 49 //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
50 50
@@ -53,6 +53,8 @@ namespace OpenSim.Client.Linden
53 53
54 protected bool m_enabled = false; // Module is only enabled if running in standalone mode 54 protected bool m_enabled = false; // Module is only enabled if running in standalone mode
55 55
56 protected bool authenticate;
57 protected string welcomeMessage;
56 58
57 public bool RegionLoginsEnabled 59 public bool RegionLoginsEnabled
58 { 60 {
@@ -68,38 +70,44 @@ namespace OpenSim.Client.Linden
68 } 70 }
69 } 71 }
70 } 72 }
71 73
72 protected LLStandaloneLoginService m_loginService; 74 protected LLStandaloneLoginService m_loginService;
73 75
74 #region IRegionModule Members 76 #region IRegionModule Members
75 77
76 public void Initialise(Scene scene, IConfigSource source) 78 public void Initialise(IConfigSource source)
77 { 79 {
78 if (m_firstScene == null) 80 IConfig startupConfig = source.Configs["Startup"];
81 if (startupConfig != null)
79 { 82 {
80 m_firstScene = scene; 83 m_enabled = !startupConfig.GetBoolean("gridmode", false);
84 }
81 85
82 IConfig startupConfig = source.Configs["Startup"]; 86 if (m_enabled)
83 if (startupConfig != null) 87 {
88 authenticate = true;
89 welcomeMessage = "Welcome to OpenSim";
90 IConfig standaloneConfig = source.Configs["StandAlone"];
91 if (standaloneConfig != null)
84 { 92 {
85 m_enabled = !startupConfig.GetBoolean("gridmode", false); 93 authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true);
94 welcomeMessage = standaloneConfig.GetString("welcome_message");
86 } 95 }
96 }
97 }
98
99 public void AddRegion(Scene scene)
100 {
101 if (m_firstScene == null)
102 {
103 m_firstScene = scene;
87 104
88 if (m_enabled) 105 if (m_enabled)
89 { 106 {
90 bool authenticate = true;
91 string welcomeMessage = "Welcome to OpenSim";
92 IConfig standaloneConfig = source.Configs["StandAlone"];
93 if (standaloneConfig != null)
94 {
95 authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true);
96 welcomeMessage = standaloneConfig.GetString("welcome_message");
97 }
98
99 //TODO: fix casting. 107 //TODO: fix casting.
100 LibraryRootFolder rootFolder 108 LibraryRootFolder rootFolder
101 = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder; 109 = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;
102 110
103 IHttpServer httpServer = m_firstScene.CommsManager.HttpServer; 111 IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
104 112
105 //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference 113 //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
@@ -121,6 +129,14 @@ namespace OpenSim.Client.Linden
121 } 129 }
122 } 130 }
123 131
132 public void RemoveRegion(Scene scene)
133 {
134 if (m_enabled)
135 {
136 RemoveScene(scene);
137 }
138 }
139
124 public void PostInitialise() 140 public void PostInitialise()
125 { 141 {
126 142
@@ -131,6 +147,11 @@ namespace OpenSim.Client.Linden
131 147
132 } 148 }
133 149
150 public void RegionLoaded(Scene scene)
151 {
152
153 }
154
134 public string Name 155 public string Name
135 { 156 {
136 get { return "LLStandaloneLoginModule"; } 157 get { return "LLStandaloneLoginModule"; }
@@ -154,6 +175,17 @@ namespace OpenSim.Client.Linden
154 } 175 }
155 } 176 }
156 177
178 protected void RemoveScene(Scene scene)
179 {
180 lock (m_scenes)
181 {
182 if (m_scenes.Contains(scene))
183 {
184 m_scenes.Remove(scene);
185 }
186 }
187 }
188
157 public bool NewUserConnection(ulong regionHandle, AgentCircuitData agent, out string reason) 189 public bool NewUserConnection(ulong regionHandle, AgentCircuitData agent, out string reason)
158 { 190 {
159 Scene scene; 191 Scene scene;
diff --git a/OpenSim/Client/Linden/Resources/LindenModules.addin.xml b/OpenSim/Client/Linden/Resources/LindenModules.addin.xml
new file mode 100644
index 0000000..6a55ce8
--- /dev/null
+++ b/OpenSim/Client/Linden/Resources/LindenModules.addin.xml
@@ -0,0 +1,15 @@
1<Addin id="OpenSim.Client.Linden.LindenModules" version="0.2">
2 <Runtime>
3 <Import assembly="OpenSim.Client.Linden.dll"/>
4 </Runtime>
5
6 <Dependencies>
7 <Addin id="OpenSim" version="0.5" />
8 </Dependencies>
9
10 <Extension path = "/OpenSim/RegionModules">
11 <RegionModule id="LLStandaloneLoginModule" type="OpenSim.Client.Linden.LLStandaloneLoginModule" />
12 <RegionModule id="LLProxyLoginModule" type="OpenSim.Client.Linden.LLProxyLoginModule" />
13 <RegionModule id="LLClientStackModule" type="OpenSim.Client.Linden.LLClientStackModule" />
14 </Extension>
15</Addin>