aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorlbsa712007-09-24 02:41:13 +0000
committerlbsa712007-09-24 02:41:13 +0000
commit5818958a9a6c5a10743928973172d255632af6de (patch)
tree16076d3c3dd65f303ba74ddbbdaa1ca3e3b6e67c /OpenSim/Framework
parentlong-lost fixes to physics -- proper physical avatar management on crossings, TP (diff)
downloadopensim-SC_OLD-5818958a9a6c5a10743928973172d255632af6de.zip
opensim-SC_OLD-5818958a9a6c5a10743928973172d255632af6de.tar.gz
opensim-SC_OLD-5818958a9a6c5a10743928973172d255632af6de.tar.bz2
opensim-SC_OLD-5818958a9a6c5a10743928973172d255632af6de.tar.xz
*** CHANGED CONFIG BEHAVIOUR ***
* Changed really strange LocalSettings behaviour with enforcing hard-coded plugin names if none supplied * UserServices and InventoryPlugin will only load if supplied with filename
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/InventoryServiceBase/InventoryServiceBase.cs32
-rw-r--r--OpenSim/Framework/UserManager/UserManagerBase.cs41
2 files changed, 35 insertions, 38 deletions
diff --git a/OpenSim/Framework/InventoryServiceBase/InventoryServiceBase.cs b/OpenSim/Framework/InventoryServiceBase/InventoryServiceBase.cs
index dc66bd4..d76fac5 100644
--- a/OpenSim/Framework/InventoryServiceBase/InventoryServiceBase.cs
+++ b/OpenSim/Framework/InventoryServiceBase/InventoryServiceBase.cs
@@ -23,28 +23,28 @@ namespace OpenSim.Framework.InventoryServiceBase
23 /// <param name="FileName">The filename to the user server plugin DLL</param> 23 /// <param name="FileName">The filename to the user server plugin DLL</param>
24 public void AddPlugin(string FileName) 24 public void AddPlugin(string FileName)
25 { 25 {
26 MainLog.Instance.Verbose("Inventory", "Inventorystorage: Attempting to load " + FileName); 26 if (!String.IsNullOrEmpty(FileName))
27 Assembly pluginAssembly = Assembly.LoadFrom(FileName);
28
29 foreach (Type pluginType in pluginAssembly.GetTypes())
30 { 27 {
31 if (!pluginType.IsAbstract) 28 MainLog.Instance.Verbose("Inventory", "Inventorystorage: Attempting to load " + FileName);
32 { 29 Assembly pluginAssembly = Assembly.LoadFrom(FileName);
33 Type typeInterface = pluginType.GetInterface("IInventoryData", true);
34 30
35 if (typeInterface != null) 31 foreach (Type pluginType in pluginAssembly.GetTypes())
32 {
33 if (!pluginType.IsAbstract)
36 { 34 {
37 IInventoryData plug = (IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); 35 Type typeInterface = pluginType.GetInterface("IInventoryData", true);
38 plug.Initialise(); 36
39 this.m_plugins.Add(plug.getName(), plug); 37 if (typeInterface != null)
40 MainLog.Instance.Verbose("Inventorystorage: Added IInventoryData Interface"); 38 {
39 IInventoryData plug =
40 (IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
41 plug.Initialise();
42 this.m_plugins.Add(plug.getName(), plug);
43 MainLog.Instance.Verbose("Inventorystorage: Added IInventoryData Interface");
44 }
41 } 45 }
42
43 typeInterface = null;
44 } 46 }
45 } 47 }
46
47 pluginAssembly = null;
48 } 48 }
49 49
50 /// <summary> 50 /// <summary>
diff --git a/OpenSim/Framework/UserManager/UserManagerBase.cs b/OpenSim/Framework/UserManager/UserManagerBase.cs
index e11204b..4a2870b 100644
--- a/OpenSim/Framework/UserManager/UserManagerBase.cs
+++ b/OpenSim/Framework/UserManager/UserManagerBase.cs
@@ -25,6 +25,7 @@
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28
28using System; 29using System;
29using System.Collections; 30using System.Collections;
30using System.Collections.Generic; 31using System.Collections.Generic;
@@ -32,15 +33,11 @@ using System.Reflection;
32using System.Security.Cryptography; 33using System.Security.Cryptography;
33using libsecondlife; 34using libsecondlife;
34using Nwc.XmlRpc; 35using Nwc.XmlRpc;
36using OpenSim.Framework.Configuration;
35using OpenSim.Framework.Console; 37using OpenSim.Framework.Console;
36using OpenSim.Framework.Data; 38using OpenSim.Framework.Data;
37using OpenSim.Framework.Interfaces;
38using OpenSim.Framework.Inventory;
39using OpenSim.Framework.Utilities; 39using OpenSim.Framework.Utilities;
40 40
41using OpenSim.Framework.Configuration;
42using InventoryFolder = OpenSim.Framework.Inventory.InventoryFolder;
43
44namespace OpenSim.Framework.UserManagement 41namespace OpenSim.Framework.UserManagement
45{ 42{
46 public abstract class UserManagerBase 43 public abstract class UserManagerBase
@@ -54,32 +51,32 @@ namespace OpenSim.Framework.UserManagement
54 /// <param name="FileName">The filename to the user server plugin DLL</param> 51 /// <param name="FileName">The filename to the user server plugin DLL</param>
55 public void AddPlugin(string FileName) 52 public void AddPlugin(string FileName)
56 { 53 {
57 MainLog.Instance.Verbose( "Userstorage: Attempting to load " + FileName); 54 if (!String.IsNullOrEmpty(FileName))
58 Assembly pluginAssembly = Assembly.LoadFrom(FileName);
59
60 MainLog.Instance.Verbose( "Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
61 foreach (Type pluginType in pluginAssembly.GetTypes())
62 { 55 {
63 if (!pluginType.IsAbstract) 56 MainLog.Instance.Verbose("Userstorage: Attempting to load " + FileName);
64 { 57 Assembly pluginAssembly = Assembly.LoadFrom(FileName);
65 Type typeInterface = pluginType.GetInterface("IUserData", true);
66 58
67 if (typeInterface != null) 59 MainLog.Instance.Verbose("Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
60 foreach (Type pluginType in pluginAssembly.GetTypes())
61 {
62 if (!pluginType.IsAbstract)
68 { 63 {
69 IUserData plug = (IUserData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); 64 Type typeInterface = pluginType.GetInterface("IUserData", true);
70 plug.Initialise(); 65
71 AddPlugin(plug); 66 if (typeInterface != null)
67 {
68 IUserData plug =
69 (IUserData) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
70 AddPlugin(plug);
71 }
72 } 72 }
73
74 typeInterface = null;
75 } 73 }
76 } 74 }
77
78 pluginAssembly = null;
79 } 75 }
80 76
81 private void AddPlugin(IUserData plug) 77 public void AddPlugin(IUserData plug)
82 { 78 {
79 plug.Initialise();
83 this._plugins.Add(plug.getName(), plug); 80 this._plugins.Add(plug.getName(), plug);
84 MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface"); 81 MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface");
85 } 82 }