aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-10-17 16:44:05 +0000
committerJustin Clarke Casey2008-10-17 16:44:05 +0000
commit138bcf6fffdb16e3962c03f995aff7cda15a7800 (patch)
tree0e229194378b71199b999fc126b3775b53f500ff /OpenSim/Framework/Communications
parent* Adds a lot of stability and performance to the physics engine. The avata... (diff)
downloadopensim-SC_OLD-138bcf6fffdb16e3962c03f995aff7cda15a7800.zip
opensim-SC_OLD-138bcf6fffdb16e3962c03f995aff7cda15a7800.tar.gz
opensim-SC_OLD-138bcf6fffdb16e3962c03f995aff7cda15a7800.tar.bz2
opensim-SC_OLD-138bcf6fffdb16e3962c03f995aff7cda15a7800.tar.xz
* Apply a modified version of http://opensimulator.org/mantis/view.php?id=2290
* This allows multiple user profile providers to be specified in OpenSim.ini separated by commas * If multiple providers are specified then a request for a user profile will query each in turn until the profile is either found or all have been queried * Unfortunately I don't believe this order can currently be specified, which if true is something that will need to be fixed. * Thanks to smeans for the original patch.
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r--OpenSim/Framework/Communications/UserManagerBase.cs20
1 files changed, 15 insertions, 5 deletions
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs
index aa68367..32bfed7 100644
--- a/OpenSim/Framework/Communications/UserManagerBase.cs
+++ b/OpenSim/Framework/Communications/UserManagerBase.cs
@@ -56,11 +56,11 @@ namespace OpenSim.Framework.Communications
56 public void AddPlugin(string provider, string connect) 56 public void AddPlugin(string provider, string connect)
57 { 57 {
58 PluginLoader<IUserDataPlugin> loader = 58 PluginLoader<IUserDataPlugin> loader =
59 new PluginLoader<IUserDataPlugin> (new UserDataInitialiser (connect)); 59 new PluginLoader<IUserDataPlugin>(new UserDataInitialiser(connect));
60 60
61 // loader will try to load all providers (MySQL, MSSQL, etc) 61 // loader will try to load all providers (MySQL, MSSQL, etc)
62 // unless it is constrainted to the correct "Provider" entry in the addin.xml 62 // unless it is constrainted to the correct "Provider" entry in the addin.xml
63 loader.Add ("/OpenSim/UserData", new PluginProviderFilter (provider)); 63 loader.Add("/OpenSim/UserData", new PluginProviderFilter(provider));
64 loader.Load(); 64 loader.Load();
65 65
66 _plugins = loader.Plugins; 66 _plugins = loader.Plugins;
@@ -178,7 +178,12 @@ namespace OpenSim.Framework.Communications
178 { 178 {
179 try 179 try
180 { 180 {
181 return plugin.GetAgentByUUID(uuid); 181 UserAgentData result = plugin.GetAgentByUUID(uuid);
182
183 if (result != null)
184 {
185 return result;
186 }
182 } 187 }
183 catch (Exception e) 188 catch (Exception e)
184 { 189 {
@@ -260,7 +265,12 @@ namespace OpenSim.Framework.Communications
260 { 265 {
261 try 266 try
262 { 267 {
263 return plugin.GetUserFriendList(ownerID); 268 List<FriendListItem> result = plugin.GetUserFriendList(ownerID);
269
270 if (result != null)
271 {
272 return result;
273 }
264 } 274 }
265 catch (Exception e) 275 catch (Exception e)
266 { 276 {
@@ -331,7 +341,6 @@ namespace OpenSim.Framework.Communications
331 } 341 }
332 } 342 }
333 343
334
335 /// <summary> 344 /// <summary>
336 /// Resets the currentAgent in the user profile 345 /// Resets the currentAgent in the user profile
337 /// </summary> 346 /// </summary>
@@ -344,6 +353,7 @@ namespace OpenSim.Framework.Communications
344 { 353 {
345 return; 354 return;
346 } 355 }
356
347 profile.CurrentAgent = null; 357 profile.CurrentAgent = null;
348 358
349 UpdateUserProfile(profile); 359 UpdateUserProfile(profile);