aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/UserConfig.cs
diff options
context:
space:
mode:
authorlbsa712007-10-31 07:28:23 +0000
committerlbsa712007-10-31 07:28:23 +0000
commit064404ab409ddd0a3b25027a98582696295c46fd (patch)
treebd84ec2e23930f76e7cc81c8529ef71936c86dd9 /OpenSim/Framework/UserConfig.cs
parentmade illogical bitwise operations logical (diff)
downloadopensim-SC-064404ab409ddd0a3b25027a98582696295c46fd.zip
opensim-SC-064404ab409ddd0a3b25027a98582696295c46fd.tar.gz
opensim-SC-064404ab409ddd0a3b25027a98582696295c46fd.tar.bz2
opensim-SC-064404ab409ddd0a3b25027a98582696295c46fd.tar.xz
* Moved OpenSim/Framework/General to OpenSim/Framework for great justice.
Diffstat (limited to 'OpenSim/Framework/UserConfig.cs')
-rw-r--r--OpenSim/Framework/UserConfig.cs103
1 files changed, 103 insertions, 0 deletions
diff --git a/OpenSim/Framework/UserConfig.cs b/OpenSim/Framework/UserConfig.cs
new file mode 100644
index 0000000..fdb8f82
--- /dev/null
+++ b/OpenSim/Framework/UserConfig.cs
@@ -0,0 +1,103 @@
1/*
2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28
29namespace OpenSim.Framework
30{
31 /// <summary>
32 /// UserConfig -- For User Server Configuration
33 /// </summary>
34 public class UserConfig
35 {
36 public string DefaultStartupMsg = "";
37 public string GridServerURL = "";
38 public string GridSendKey = "";
39 public string GridRecvKey = "";
40
41 public string DatabaseProvider = "";
42
43 public static uint DefaultHttpPort = 8002;
44 public uint HttpPort = DefaultHttpPort;
45
46 private ConfigurationMember configMember;
47
48 public UserConfig(string description, string filename)
49 {
50 configMember =
51 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
52 configMember.performConfigurationRetrieve();
53 }
54
55 public void loadConfigurationOptions()
56 {
57 configMember.addConfigurationOption("default_startup_message",
58 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
59 "Default Startup Message", "Welcome to OGS", false);
60
61 configMember.addConfigurationOption("default_grid_server",
62 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
63 "Default Grid Server URI",
64 "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false);
65 configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
66 "Key to send to grid server", "null", false);
67 configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
68 "Key to expect from grid server", "null", false);
69 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
70 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
71
72 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
73 "Http Listener port", DefaultHttpPort.ToString(), false);
74 }
75
76 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
77 {
78 switch (configuration_key)
79 {
80 case "default_startup_message":
81 DefaultStartupMsg = (string) configuration_result;
82 break;
83 case "default_grid_server":
84 GridServerURL = (string) configuration_result;
85 break;
86 case "grid_send_key":
87 GridSendKey = (string) configuration_result;
88 break;
89 case "grid_recv_key":
90 GridRecvKey = (string) configuration_result;
91 break;
92 case "database_provider":
93 DatabaseProvider = (string) configuration_result;
94 break;
95 case "http_port":
96 HttpPort = (uint) configuration_result;
97 break;
98 }
99
100 return true;
101 }
102 }
103} \ No newline at end of file