diff options
author | lbsa71 | 2007-12-27 21:41:48 +0000 |
---|---|---|
committer | lbsa71 | 2007-12-27 21:41:48 +0000 |
commit | efd90b56b761219af6425b1c7a2cdd3b6ffb4de2 (patch) | |
tree | bf5b897e1e3c13211e3e2fc61d30508b94c928c0 /OpenSim/Framework/ConfigurationMember.cs | |
parent | * removed always true if (diff) | |
download | opensim-SC-efd90b56b761219af6425b1c7a2cdd3b6ffb4de2.zip opensim-SC-efd90b56b761219af6425b1c7a2cdd3b6ffb4de2.tar.gz opensim-SC-efd90b56b761219af6425b1c7a2cdd3b6ffb4de2.tar.bz2 opensim-SC-efd90b56b761219af6425b1c7a2cdd3b6ffb4de2.tar.xz |
* Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/ConfigurationMember.cs | 135 |
1 files changed, 87 insertions, 48 deletions
diff --git a/OpenSim/Framework/ConfigurationMember.cs b/OpenSim/Framework/ConfigurationMember.cs index 271c02c..a5ab613 100644 --- a/OpenSim/Framework/ConfigurationMember.cs +++ b/OpenSim/Framework/ConfigurationMember.cs | |||
@@ -27,24 +27,20 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Reflection; | ||
31 | using System.Collections; | ||
32 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
33 | using System.Text; | 31 | using System.Globalization; |
34 | using System.Net; | 32 | using System.Net; |
33 | using System.Reflection; | ||
35 | using System.Xml; | 34 | using System.Xml; |
36 | |||
37 | using libsecondlife; | 35 | using libsecondlife; |
38 | |||
39 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
40 | using OpenSim.Framework; | ||
41 | using System.Globalization; | ||
42 | 37 | ||
43 | namespace OpenSim.Framework | 38 | namespace OpenSim.Framework |
44 | { | 39 | { |
45 | public class ConfigurationMember | 40 | public class ConfigurationMember |
46 | { | 41 | { |
47 | public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result); | 42 | public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result); |
43 | |||
48 | public delegate void ConfigurationOptionsLoad(); | 44 | public delegate void ConfigurationOptionsLoad(); |
49 | 45 | ||
50 | private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>(); | 46 | private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>(); |
@@ -55,29 +51,36 @@ namespace OpenSim.Framework | |||
55 | private ConfigurationOptionResult resultFunction; | 51 | private ConfigurationOptionResult resultFunction; |
56 | 52 | ||
57 | private IGenericConfig configurationPlugin = null; | 53 | private IGenericConfig configurationPlugin = null; |
54 | |||
58 | /// <summary> | 55 | /// <summary> |
59 | /// This is the default configuration DLL loaded | 56 | /// This is the default configuration DLL loaded |
60 | /// </summary> | 57 | /// </summary> |
61 | private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll"; | 58 | private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll"; |
62 | public ConfigurationMember(string configuration_filename, string configuration_description, ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) | 59 | |
60 | public ConfigurationMember(string configuration_filename, string configuration_description, | ||
61 | ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) | ||
63 | { | 62 | { |
64 | this.configurationFilename = configuration_filename; | 63 | configurationFilename = configuration_filename; |
65 | this.configurationDescription = configuration_description; | 64 | configurationDescription = configuration_description; |
66 | this.loadFunction = load_function; | 65 | loadFunction = load_function; |
67 | this.resultFunction = result_function; | 66 | resultFunction = result_function; |
68 | } | 67 | } |
69 | public ConfigurationMember(XmlNode configuration_xml, string configuration_description, ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) | 68 | |
69 | public ConfigurationMember(XmlNode configuration_xml, string configuration_description, | ||
70 | ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) | ||
70 | { | 71 | { |
71 | this.configurationFilename = ""; | 72 | configurationFilename = ""; |
72 | this.configurationFromXMLNode = configuration_xml; | 73 | configurationFromXMLNode = configuration_xml; |
73 | this.configurationDescription = configuration_description; | 74 | configurationDescription = configuration_description; |
74 | this.loadFunction = load_function; | 75 | loadFunction = load_function; |
75 | this.resultFunction = result_function; | 76 | resultFunction = result_function; |
76 | } | 77 | } |
78 | |||
77 | public void setConfigurationFilename(string filename) | 79 | public void setConfigurationFilename(string filename) |
78 | { | 80 | { |
79 | configurationFilename = filename; | 81 | configurationFilename = filename; |
80 | } | 82 | } |
83 | |||
81 | public void setConfigurationDescription(string desc) | 84 | public void setConfigurationDescription(string desc) |
82 | { | 85 | { |
83 | configurationDescription = desc; | 86 | configurationDescription = desc; |
@@ -92,9 +95,11 @@ namespace OpenSim.Framework | |||
92 | { | 95 | { |
93 | configurationPluginFilename = dll_filename; | 96 | configurationPluginFilename = dll_filename; |
94 | } | 97 | } |
98 | |||
95 | private void checkAndAddConfigOption(ConfigurationOption option) | 99 | private void checkAndAddConfigOption(ConfigurationOption option) |
96 | { | 100 | { |
97 | if ((option.configurationKey != "" && option.configurationQuestion != "") || (option.configurationKey != "" && option.configurationUseDefaultNoPrompt)) | 101 | if ((option.configurationKey != "" && option.configurationQuestion != "") || |
102 | (option.configurationKey != "" && option.configurationUseDefaultNoPrompt)) | ||
98 | { | 103 | { |
99 | if (!configurationOptions.Contains(option)) | 104 | if (!configurationOptions.Contains(option)) |
100 | { | 105 | { |
@@ -103,11 +108,16 @@ namespace OpenSim.Framework | |||
103 | } | 108 | } |
104 | else | 109 | else |
105 | { | 110 | { |
106 | MainLog.Instance.Notice("Required fields for adding a configuration option is invalid. Will not add this option (" + option.configurationKey + ")"); | 111 | MainLog.Instance.Notice( |
112 | "Required fields for adding a configuration option is invalid. Will not add this option (" + | ||
113 | option.configurationKey + ")"); | ||
107 | } | 114 | } |
108 | } | 115 | } |
109 | 116 | ||
110 | public void addConfigurationOption(string configuration_key, ConfigurationOption.ConfigurationTypes configuration_type, string configuration_question, string configuration_default, bool use_default_no_prompt) | 117 | public void addConfigurationOption(string configuration_key, |
118 | ConfigurationOption.ConfigurationTypes configuration_type, | ||
119 | string configuration_question, string configuration_default, | ||
120 | bool use_default_no_prompt) | ||
111 | { | 121 | { |
112 | ConfigurationOption configOption = new ConfigurationOption(); | 122 | ConfigurationOption configOption = new ConfigurationOption(); |
113 | configOption.configurationKey = configuration_key; | 123 | configOption.configurationKey = configuration_key; |
@@ -119,7 +129,11 @@ namespace OpenSim.Framework | |||
119 | checkAndAddConfigOption(configOption); | 129 | checkAndAddConfigOption(configOption); |
120 | } | 130 | } |
121 | 131 | ||
122 | public void addConfigurationOption(string configuration_key, ConfigurationOption.ConfigurationTypes configuration_type, string configuration_question, string configuration_default, bool use_default_no_prompt, ConfigurationOption.ConfigurationOptionShouldBeAsked shouldIBeAskedDelegate) | 132 | public void addConfigurationOption(string configuration_key, |
133 | ConfigurationOption.ConfigurationTypes configuration_type, | ||
134 | string configuration_question, string configuration_default, | ||
135 | bool use_default_no_prompt, | ||
136 | ConfigurationOption.ConfigurationOptionShouldBeAsked shouldIBeAskedDelegate) | ||
123 | { | 137 | { |
124 | ConfigurationOption configOption = new ConfigurationOption(); | 138 | ConfigurationOption configOption = new ConfigurationOption(); |
125 | configOption.configurationKey = configuration_key; | 139 | configOption.configurationKey = configuration_key; |
@@ -133,26 +147,30 @@ namespace OpenSim.Framework | |||
133 | 147 | ||
134 | public void performConfigurationRetrieve() | 148 | public void performConfigurationRetrieve() |
135 | { | 149 | { |
136 | configurationPlugin = this.LoadConfigDll(configurationPluginFilename); | 150 | configurationPlugin = LoadConfigDll(configurationPluginFilename); |
137 | configurationOptions.Clear(); | 151 | configurationOptions.Clear(); |
138 | if(loadFunction == null) | 152 | if (loadFunction == null) |
139 | { | 153 | { |
140 | MainLog.Instance.Error("Load Function for '" + this.configurationDescription + "' is null. Refusing to run configuration."); | 154 | MainLog.Instance.Error("Load Function for '" + configurationDescription + |
155 | "' is null. Refusing to run configuration."); | ||
141 | return; | 156 | return; |
142 | } | 157 | } |
143 | 158 | ||
144 | if(resultFunction == null) | 159 | if (resultFunction == null) |
145 | { | 160 | { |
146 | MainLog.Instance.Error("Result Function for '" + this.configurationDescription + "' is null. Refusing to run configuration."); | 161 | MainLog.Instance.Error("Result Function for '" + configurationDescription + |
162 | "' is null. Refusing to run configuration."); | ||
147 | return; | 163 | return; |
148 | } | 164 | } |
149 | 165 | ||
150 | MainLog.Instance.Verbose("CONFIG", "Calling Configuration Load Function..."); | 166 | MainLog.Instance.Verbose("CONFIG", "Calling Configuration Load Function..."); |
151 | this.loadFunction(); | 167 | loadFunction(); |
152 | 168 | ||
153 | if(configurationOptions.Count <= 0) | 169 | if (configurationOptions.Count <= 0) |
154 | { | 170 | { |
155 | MainLog.Instance.Error("CONFIG", "No configuration options were specified for '" + this.configurationOptions + "'. Refusing to continue configuration."); | 171 | MainLog.Instance.Error("CONFIG", |
172 | "No configuration options were specified for '" + configurationOptions + | ||
173 | "'. Refusing to continue configuration."); | ||
156 | return; | 174 | return; |
157 | } | 175 | } |
158 | 176 | ||
@@ -179,7 +197,7 @@ namespace OpenSim.Framework | |||
179 | } | 197 | } |
180 | else | 198 | else |
181 | { | 199 | { |
182 | if (this.configurationFromXMLNode != null) | 200 | if (configurationFromXMLNode != null) |
183 | { | 201 | { |
184 | MainLog.Instance.Notice("Loading from XML Node, will not save to the file"); | 202 | MainLog.Instance.Notice("Loading from XML Node, will not save to the file"); |
185 | configurationPlugin.LoadDataFromString(configurationFromXMLNode.OuterXml); | 203 | configurationPlugin.LoadDataFromString(configurationFromXMLNode.OuterXml); |
@@ -219,15 +237,22 @@ namespace OpenSim.Framework | |||
219 | } | 237 | } |
220 | else | 238 | else |
221 | { | 239 | { |
222 | if ((configOption.shouldIBeAsked != null && configOption.shouldIBeAsked(configOption.configurationKey)) || configOption.shouldIBeAsked == null) | 240 | if ((configOption.shouldIBeAsked != null && |
241 | configOption.shouldIBeAsked(configOption.configurationKey)) || | ||
242 | configOption.shouldIBeAsked == null) | ||
223 | { | 243 | { |
224 | if (configurationDescription.Trim() != "") | 244 | if (configurationDescription.Trim() != "") |
225 | { | 245 | { |
226 | console_result = MainLog.Instance.CmdPrompt(configurationDescription + ": " + configOption.configurationQuestion, configOption.configurationDefault); | 246 | console_result = |
247 | MainLog.Instance.CmdPrompt( | ||
248 | configurationDescription + ": " + configOption.configurationQuestion, | ||
249 | configOption.configurationDefault); | ||
227 | } | 250 | } |
228 | else | 251 | else |
229 | { | 252 | { |
230 | console_result = MainLog.Instance.CmdPrompt(configOption.configurationQuestion, configOption.configurationDefault); | 253 | console_result = |
254 | MainLog.Instance.CmdPrompt(configOption.configurationQuestion, | ||
255 | configOption.configurationDefault); | ||
231 | } | 256 | } |
232 | } | 257 | } |
233 | else | 258 | else |
@@ -235,7 +260,7 @@ namespace OpenSim.Framework | |||
235 | //Dont Ask! Just use default | 260 | //Dont Ask! Just use default |
236 | console_result = configOption.configurationDefault; | 261 | console_result = configOption.configurationDefault; |
237 | } | 262 | } |
238 | } | 263 | } |
239 | } | 264 | } |
240 | else | 265 | else |
241 | { | 266 | { |
@@ -366,7 +391,9 @@ namespace OpenSim.Framework | |||
366 | break; | 391 | break; |
367 | case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: | 392 | case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: |
368 | float floatResult; | 393 | float floatResult; |
369 | if (float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out floatResult)) | 394 | if ( |
395 | float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, | ||
396 | out floatResult)) | ||
370 | { | 397 | { |
371 | convertSuccess = true; | 398 | convertSuccess = true; |
372 | return_result = floatResult; | 399 | return_result = floatResult; |
@@ -375,7 +402,9 @@ namespace OpenSim.Framework | |||
375 | break; | 402 | break; |
376 | case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: | 403 | case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: |
377 | double doubleResult; | 404 | double doubleResult; |
378 | if (Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out doubleResult)) | 405 | if ( |
406 | Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, | ||
407 | out doubleResult)) | ||
379 | { | 408 | { |
380 | convertSuccess = true; | 409 | convertSuccess = true; |
381 | return_result = doubleResult; | 410 | return_result = doubleResult; |
@@ -391,9 +420,10 @@ namespace OpenSim.Framework | |||
391 | configurationPlugin.SetAttribute(configOption.configurationKey, console_result); | 420 | configurationPlugin.SetAttribute(configOption.configurationKey, console_result); |
392 | } | 421 | } |
393 | 422 | ||
394 | if (!this.resultFunction(configOption.configurationKey, return_result)) | 423 | if (!resultFunction(configOption.configurationKey, return_result)) |
395 | { | 424 | { |
396 | Console.MainLog.Instance.Notice("The handler for the last configuration option denied that input, please try again."); | 425 | MainLog.Instance.Notice( |
426 | "The handler for the last configuration option denied that input, please try again."); | ||
397 | convertSuccess = false; | 427 | convertSuccess = false; |
398 | ignoreNextFromConfig = true; | 428 | ignoreNextFromConfig = true; |
399 | } | 429 | } |
@@ -402,19 +432,27 @@ namespace OpenSim.Framework | |||
402 | { | 432 | { |
403 | if (configOption.configurationUseDefaultNoPrompt) | 433 | if (configOption.configurationUseDefaultNoPrompt) |
404 | { | 434 | { |
405 | MainLog.Instance.Error("CONFIG", string.Format("[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); | 435 | MainLog.Instance.Error("CONFIG", |
436 | string.Format( | ||
437 | "[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n", | ||
438 | configOption.configurationKey, console_result, errorMessage, | ||
439 | configurationFilename)); | ||
406 | convertSuccess = true; | 440 | convertSuccess = true; |
407 | } | 441 | } |
408 | else | 442 | else |
409 | { | 443 | { |
410 | MainLog.Instance.Warn("CONFIG", string.Format("[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); | 444 | MainLog.Instance.Warn("CONFIG", |
445 | string.Format( | ||
446 | "[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n", | ||
447 | configOption.configurationKey, console_result, errorMessage, | ||
448 | configurationFilename)); | ||
411 | ignoreNextFromConfig = true; | 449 | ignoreNextFromConfig = true; |
412 | } | 450 | } |
413 | } | 451 | } |
414 | } | 452 | } |
415 | } | 453 | } |
416 | 454 | ||
417 | if(useFile) | 455 | if (useFile) |
418 | { | 456 | { |
419 | configurationPlugin.Commit(); | 457 | configurationPlugin.Commit(); |
420 | configurationPlugin.Close(); | 458 | configurationPlugin.Close(); |
@@ -436,7 +474,8 @@ namespace OpenSim.Framework | |||
436 | 474 | ||
437 | if (typeInterface != null) | 475 | if (typeInterface != null) |
438 | { | 476 | { |
439 | plug = (IGenericConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | 477 | plug = |
478 | (IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | ||
440 | } | 479 | } |
441 | } | 480 | } |
442 | } | 481 | } |
@@ -448,10 +487,10 @@ namespace OpenSim.Framework | |||
448 | 487 | ||
449 | public void forceSetConfigurationOption(string configuration_key, string configuration_value) | 488 | public void forceSetConfigurationOption(string configuration_key, string configuration_value) |
450 | { | 489 | { |
451 | this.configurationPlugin.LoadData(); | 490 | configurationPlugin.LoadData(); |
452 | this.configurationPlugin.SetAttribute(configuration_key, configuration_value); | 491 | configurationPlugin.SetAttribute(configuration_key, configuration_value); |
453 | this.configurationPlugin.Commit(); | 492 | configurationPlugin.Commit(); |
454 | this.configurationPlugin.Close(); | 493 | configurationPlugin.Close(); |
455 | } | 494 | } |
456 | } | 495 | } |
457 | } | 496 | } \ No newline at end of file |