diff options
author | lbsa71 | 2007-09-24 02:41:13 +0000 |
---|---|---|
committer | lbsa71 | 2007-09-24 02:41:13 +0000 |
commit | 5818958a9a6c5a10743928973172d255632af6de (patch) | |
tree | 16076d3c3dd65f303ba74ddbbdaa1ca3e3b6e67c | |
parent | long-lost fixes to physics -- proper physical avatar management on crossings, TP (diff) | |
download | opensim-SC-5818958a9a6c5a10743928973172d255632af6de.zip opensim-SC-5818958a9a6c5a10743928973172d255632af6de.tar.gz opensim-SC-5818958a9a6c5a10743928973172d255632af6de.tar.bz2 opensim-SC-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
4 files changed, 47 insertions, 56 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 | |||
28 | using System; | 29 | using System; |
29 | using System.Collections; | 30 | using System.Collections; |
30 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
@@ -32,15 +33,11 @@ using System.Reflection; | |||
32 | using System.Security.Cryptography; | 33 | using System.Security.Cryptography; |
33 | using libsecondlife; | 34 | using libsecondlife; |
34 | using Nwc.XmlRpc; | 35 | using Nwc.XmlRpc; |
36 | using OpenSim.Framework.Configuration; | ||
35 | using OpenSim.Framework.Console; | 37 | using OpenSim.Framework.Console; |
36 | using OpenSim.Framework.Data; | 38 | using OpenSim.Framework.Data; |
37 | using OpenSim.Framework.Interfaces; | ||
38 | using OpenSim.Framework.Inventory; | ||
39 | using OpenSim.Framework.Utilities; | 39 | using OpenSim.Framework.Utilities; |
40 | 40 | ||
41 | using OpenSim.Framework.Configuration; | ||
42 | using InventoryFolder = OpenSim.Framework.Inventory.InventoryFolder; | ||
43 | |||
44 | namespace OpenSim.Framework.UserManagement | 41 | namespace 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 | } |
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 161e73f..c28025b 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -79,8 +79,8 @@ namespace OpenSim | |||
79 | 79 | ||
80 | private bool standaloneAuthenticate = false; | 80 | private bool standaloneAuthenticate = false; |
81 | private string standaloneWelcomeMessage = null; | 81 | private string standaloneWelcomeMessage = null; |
82 | private string standaloneInventoryPlugin = ""; | 82 | private string standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll"; |
83 | private string standaloneUserPlugin = ""; | 83 | private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll"; |
84 | 84 | ||
85 | private string m_assetStorage = "db4o"; | 85 | private string m_assetStorage = "db4o"; |
86 | 86 | ||
diff --git a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs index 1f54310..3031b8a 100644 --- a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs +++ b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs | |||
@@ -44,13 +44,13 @@ namespace OpenSim.Region.Communications.Local | |||
44 | public LocalUserServices UserServices; | 44 | public LocalUserServices UserServices; |
45 | public LocalLoginService LoginServices; | 45 | public LocalLoginService LoginServices; |
46 | public LocalInventoryService InvenServices; | 46 | public LocalInventoryService InvenServices; |
47 | 47 | ||
48 | protected LocalSettings m_settings; | 48 | protected LocalSettings m_settings; |
49 | 49 | ||
50 | protected CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache ) | 50 | protected CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache) |
51 | : base(serversInfo, httpServer, assetCache) | 51 | : base(serversInfo, httpServer, assetCache) |
52 | { | 52 | { |
53 | 53 | ||
54 | } | 54 | } |
55 | 55 | ||
56 | public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache, LocalSettings settings) | 56 | public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache, LocalSettings settings) |
@@ -94,7 +94,7 @@ namespace OpenSim.Region.Communications.Local | |||
94 | 94 | ||
95 | if (cmmdParams.Length < 2) | 95 | if (cmmdParams.Length < 2) |
96 | { | 96 | { |
97 | 97 | ||
98 | firstName = MainLog.Instance.CmdPrompt("First name", "Default"); | 98 | firstName = MainLog.Instance.CmdPrompt("First name", "Default"); |
99 | lastName = MainLog.Instance.CmdPrompt("Last name", "User"); | 99 | lastName = MainLog.Instance.CmdPrompt("Last name", "User"); |
100 | password = MainLog.Instance.PasswdPrompt("Password"); | 100 | password = MainLog.Instance.PasswdPrompt("Password"); |
@@ -126,7 +126,7 @@ namespace OpenSim.Region.Communications.Local | |||
126 | { | 126 | { |
127 | return LLUUID.Zero; | 127 | return LLUUID.Zero; |
128 | } | 128 | } |
129 | else | 129 | else |
130 | { | 130 | { |
131 | this.InvenServices.CreateNewUserInventory(userProf.UUID); | 131 | this.InvenServices.CreateNewUserInventory(userProf.UUID); |
132 | Console.WriteLine("Created new inventory set for " + firstName + " " + lastName); | 132 | Console.WriteLine("Created new inventory set for " + firstName + " " + lastName); |
@@ -136,23 +136,17 @@ namespace OpenSim.Region.Communications.Local | |||
136 | 136 | ||
137 | public class LocalSettings | 137 | public class LocalSettings |
138 | { | 138 | { |
139 | public string WelcomeMessage = ""; | 139 | public string WelcomeMessage; |
140 | public bool AccountAuthentication = false; | 140 | public bool AccountAuthentication = false; |
141 | public string InventoryPlugin = "OpenSim.Framework.Data.SQLite.dll"; | 141 | public string InventoryPlugin; |
142 | public string UserDatabasePlugin = "OpenSim.Framework.Data.DB4o.dll"; | 142 | public string UserDatabasePlugin; |
143 | 143 | ||
144 | public LocalSettings(string welcomeMessage, bool accountsAuthenticate, string inventoryPlugin, string userPlugin) | 144 | public LocalSettings(string welcomeMessage, bool accountsAuthenticate, string inventoryPlugin, string userPlugin) |
145 | { | 145 | { |
146 | WelcomeMessage = welcomeMessage; | 146 | WelcomeMessage = welcomeMessage; |
147 | AccountAuthentication = accountsAuthenticate; | 147 | AccountAuthentication = accountsAuthenticate; |
148 | if (inventoryPlugin != "") | 148 | InventoryPlugin = inventoryPlugin; |
149 | { | 149 | UserDatabasePlugin = userPlugin; |
150 | InventoryPlugin = inventoryPlugin; | ||
151 | } | ||
152 | if (userPlugin != "") | ||
153 | { | ||
154 | UserDatabasePlugin = userPlugin; | ||
155 | } | ||
156 | } | 150 | } |
157 | } | 151 | } |
158 | 152 | ||