Added new Util function for reading config vars that's more generic than the one I added yesterday -- this is for helping move config vars out of [Startup]
parent
0d08f81421
commit
0e8289cd00
|
@ -65,7 +65,7 @@ namespace OpenSim.Groups
|
|||
|
||||
m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName);
|
||||
|
||||
string homeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); //cnf.GetString("HomeURI", string.Empty);
|
||||
string homeURI = Util.GetConfigVarFromSections<string>(config, "HomeURI", new string[] { "Startup", m_ConfigName} ); //cnf.GetString("HomeURI", string.Empty);
|
||||
if (homeURI == string.Empty)
|
||||
throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI [Startup] or in section {0}", m_ConfigName));
|
||||
|
||||
|
|
|
@ -904,6 +904,44 @@ namespace OpenSim.Framework
|
|||
|
||||
return val;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the value of a configuration variable by looking into
|
||||
/// multiple sections in order. The latter sections overwrite
|
||||
/// any values previously found.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Type of the variable</typeparam>
|
||||
/// <param name="config">The configuration object</param>
|
||||
/// <param name="varname">The configuration variable</param>
|
||||
/// <param name="sections">Ordered sequence of sections to look at</param>
|
||||
/// <returns></returns>
|
||||
public static T GetConfigVarFromSections<T>(IConfigSource config, string varname, string[] sections)
|
||||
{
|
||||
object val = default(T);
|
||||
foreach (string section in sections)
|
||||
{
|
||||
IConfig cnf = config.Configs[section];
|
||||
if (cnf == null)
|
||||
continue;
|
||||
|
||||
if (typeof(T) == typeof(String))
|
||||
{
|
||||
if (val == null) // no null strings, please
|
||||
val = string.Empty;
|
||||
val = cnf.GetString(varname, (string)val);
|
||||
}
|
||||
else if (typeof(T) == typeof(Boolean))
|
||||
val = cnf.GetBoolean(varname, (bool)val);
|
||||
else if (typeof(T) == typeof(Int32))
|
||||
val = cnf.GetInt(varname, (int)val);
|
||||
else if (typeof(T) == typeof(float))
|
||||
val = cnf.GetFloat(varname, (int)val);
|
||||
else
|
||||
m_log.WarnFormat("[UTIL]: Unhandled type {0}", typeof(T));
|
||||
}
|
||||
return (T)val;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public static float Clip(float x, float min, float max)
|
||||
|
|
|
@ -65,7 +65,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure
|
|||
{
|
||||
m_Enabled = true;
|
||||
|
||||
m_ThisGridURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "Messaging");
|
||||
m_ThisGridURL = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "Messaging"});
|
||||
// Legacy. Remove soon!
|
||||
m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", m_ThisGridURL);
|
||||
m_log.DebugFormat("[LURE MODULE]: {0} enabled", Name);
|
||||
|
|
|
@ -88,11 +88,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
|||
IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"];
|
||||
if (thisModuleConfig != null)
|
||||
{
|
||||
m_HomeURI = Util.GetConfigVarWithDefaultSection(source, "HomeURI", "HGInventoryAccessModule");
|
||||
m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true);
|
||||
m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(source, "GatekeeperURI", "HGInventoryAccessModule");
|
||||
m_HomeURI = Util.GetConfigVarFromSections<string>(source, "HomeURI", new string[] {"Startup", "HGInventoryAccessModule"});
|
||||
m_ThisGatekeeper = Util.GetConfigVarFromSections<string>(source, "GatekeeperURI", new string[] {"Startup", "HGInventoryAccessModule"});
|
||||
// Legacy. Renove soon!
|
||||
m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", m_ThisGatekeeper);
|
||||
|
||||
m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true);
|
||||
m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", true);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -113,7 +113,7 @@ namespace OpenSim.Region.DataSnapshot
|
|||
try
|
||||
{
|
||||
m_enabled = config.Configs["DataSnapshot"].GetBoolean("index_sims", m_enabled);
|
||||
string gatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService");
|
||||
string gatekeeper = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "GridService"});
|
||||
// Legacy. Remove soon!
|
||||
if (string.IsNullOrEmpty(gatekeeper))
|
||||
{
|
||||
|
|
|
@ -2138,7 +2138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
m_host.AddScriptLPS(1);
|
||||
|
||||
IConfigSource config = m_ScriptEngine.ConfigSource;
|
||||
string HomeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", string.Empty);
|
||||
string HomeURI = Util.GetConfigVarFromSections<string>(config, "HomeURI", new string[]{"Startup"});
|
||||
|
||||
if (!string.IsNullOrEmpty(HomeURI))
|
||||
return HomeURI;
|
||||
|
@ -2159,7 +2159,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
m_host.AddScriptLPS(1);
|
||||
|
||||
IConfigSource config = m_ScriptEngine.ConfigSource;
|
||||
string gatekeeperURI = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", string.Empty);
|
||||
string gatekeeperURI = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup"});
|
||||
|
||||
if (!string.IsNullOrEmpty(gatekeeperURI))
|
||||
return gatekeeperURI;
|
||||
|
|
|
@ -177,7 +177,7 @@ namespace OpenSim.Server.Handlers.Grid
|
|||
map[k] = OSD.FromString(_info[k].ToString());
|
||||
}
|
||||
|
||||
string HomeURI = Util.GetConfigVarWithDefaultSection(m_Config, "HomeURI", string.Empty);
|
||||
string HomeURI = Util.GetConfigVarFromSections<string>(m_Config, "HomeURI", new string[] {"Startup"});
|
||||
|
||||
if (!String.IsNullOrEmpty(HomeURI))
|
||||
map["home"] = OSD.FromString(HomeURI);
|
||||
|
|
|
@ -128,7 +128,7 @@ namespace OpenSim.Services.GridService
|
|||
|
||||
m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles");
|
||||
|
||||
m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService");
|
||||
m_ThisGatekeeper = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "GridService"});
|
||||
// Legacy. Remove soon!
|
||||
m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", m_ThisGatekeeper);
|
||||
try
|
||||
|
|
|
@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService
|
|||
UUID.TryParse(scope, out m_ScopeID);
|
||||
//m_WelcomeMessage = serverConfig.GetString("WelcomeMessage", "Welcome to OpenSim!");
|
||||
m_AllowTeleportsToAnyRegion = serverConfig.GetBoolean("AllowTeleportsToAnyRegion", true);
|
||||
m_ExternalName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GatekeeperService");
|
||||
m_ExternalName = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "GatekeeperService"});
|
||||
m_ExternalName = serverConfig.GetString("ExternalName", m_ExternalName);
|
||||
if (m_ExternalName != string.Empty && !m_ExternalName.EndsWith("/"))
|
||||
m_ExternalName = m_ExternalName + "/";
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace OpenSim.Services.HypergridService
|
|||
if (m_UserAccountService == null)
|
||||
throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll));
|
||||
|
||||
m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName);
|
||||
m_HomeURL = Util.GetConfigVarFromSections<string>(config, "HomeURI", new string[] {"Startup", m_ConfigName});
|
||||
|
||||
m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService);
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService
|
|||
if (m_AvatarService == null)
|
||||
throw new Exception(String.Format("Unable to create m_AvatarService from {0}", avatarDll));
|
||||
|
||||
m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName);
|
||||
m_HomeURL = Util.GetConfigVarFromSections<string>(config, "HomeURI", new string[] {"Startup", m_ConfigName});
|
||||
|
||||
// m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService);
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ namespace OpenSim.Services.HypergridService
|
|||
LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_TripsAllowedExceptions);
|
||||
LoadDomainExceptionsFromConfig(serverConfig, "DisallowExcept", m_TripsDisallowedExceptions);
|
||||
|
||||
m_GridName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "UserAgentService");
|
||||
m_GridName = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "UserAgentService"});
|
||||
if (string.IsNullOrEmpty(m_GridName)) // Legacy. Remove soon.
|
||||
{
|
||||
m_GridName = serverConfig.GetString("ExternalName", string.Empty);
|
||||
|
|
|
@ -110,7 +110,7 @@ namespace OpenSim.Services.LLLoginService
|
|||
m_RequireInventory = m_LoginServerConfig.GetBoolean("RequireInventory", true);
|
||||
m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false);
|
||||
m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0);
|
||||
m_GatekeeperURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "LoginService");
|
||||
m_GatekeeperURL = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", new string[] {"Startup", "LoginService"});
|
||||
m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty);
|
||||
m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty);
|
||||
m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty);
|
||||
|
|
Loading…
Reference in New Issue