aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/General/UserConfig.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/General/UserConfig.cs')
-rw-r--r--OpenSim/Framework/General/UserConfig.cs98
1 files changed, 98 insertions, 0 deletions
diff --git a/OpenSim/Framework/General/UserConfig.cs b/OpenSim/Framework/General/UserConfig.cs
new file mode 100644
index 0000000..3d79fc9
--- /dev/null
+++ b/OpenSim/Framework/General/UserConfig.cs
@@ -0,0 +1,98 @@
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
29using System;
30using System.Collections.Generic;
31using System.Text;
32
33namespace OpenSim.Framework
34{
35 /// <summary>
36 /// UserConfig -- For User Server Configuration
37 /// </summary>
38 public class UserConfig
39 {
40 public string DefaultStartupMsg = "";
41 public string GridServerURL = "";
42 public string GridSendKey = "";
43 public string GridRecvKey = "";
44
45 public string DatabaseProvider = "";
46
47 public static uint DefaultHttpPort = 8002;
48 public uint HttpPort = DefaultHttpPort;
49
50 private ConfigurationMember configMember;
51
52 public UserConfig(string description, string filename)
53 {
54 configMember = new ConfigurationMember(filename, description, this.loadConfigurationOptions, this.handleIncomingConfiguration);
55 configMember.performConfigurationRetrieve();
56 }
57
58 public void loadConfigurationOptions()
59 {
60 configMember.addConfigurationOption("default_startup_message", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Startup Message", "Welcome to OGS", false);
61
62 configMember.addConfigurationOption("default_grid_server", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Grid Server URI", "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false);
63 configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to send to grid server", "null", false);
64 configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to expect from grid server", "null", false);
65 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
66
67 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Http Listener port", DefaultHttpPort.ToString(), false);
68
69 }
70
71 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
72 {
73 switch (configuration_key)
74 {
75 case "default_startup_message":
76 this.DefaultStartupMsg = (string)configuration_result;
77 break;
78 case "default_grid_server":
79 this.GridServerURL = (string)configuration_result;
80 break;
81 case "grid_send_key":
82 this.GridSendKey = (string)configuration_result;
83 break;
84 case "grid_recv_key":
85 this.GridRecvKey = (string)configuration_result;
86 break;
87 case "database_provider":
88 this.DatabaseProvider = (string)configuration_result;
89 break;
90 case "http_port":
91 HttpPort = (uint)configuration_result;
92 break;
93 }
94
95 return true;
96 }
97 }
98}