[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnetlib/System/Configuration ConfigurationSettings
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnetlib/System/Configuration ConfigurationSettings.cs, 1.4, 1.5 |
Date: |
Sun, 23 Nov 2003 23:03:40 +0000 |
Update of /cvsroot/dotgnu-pnet/pnetlib/System/Configuration
In directory subversions:/tmp/cvs-serv16161/System/Configuration
Modified Files:
ConfigurationSettings.cs
Log Message:
Locate the application and machine configuration files for
"System.Configuration".
Index: ConfigurationSettings.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/System/Configuration/ConfigurationSettings.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ConfigurationSettings.cs 23 Nov 2003 05:14:29 -0000 1.4
--- ConfigurationSettings.cs 23 Nov 2003 23:03:38 -0000 1.5
***************
*** 26,29 ****
--- 26,30 ----
using System;
+ using System.IO;
using System.Collections;
using System.Collections.Specialized;
***************
*** 31,34 ****
--- 32,36 ----
using System.Xml;
#endif
+ using Platform;
public sealed class ConfigurationSettings
***************
*** 95,105 ****
private class BuiltinConfigurationSystem : IConfigurationSystem
{
// Constructor.
! public BuiltinConfigurationSystem() {}
// Initialize the configuration system.
public void Init()
{
! // TODO
}
--- 97,173 ----
private class BuiltinConfigurationSystem : IConfigurationSystem
{
+ // Internal state.
+ private bool initialized;
+
// Constructor.
! public BuiltinConfigurationSystem()
! {
! initialized = false;
! }
!
! // Check for a machine configuration file's existence in a
directory.
! private static String CheckForMachineConfig(String dir)
! {
! // Bail out if the directory was not
specified.
! if(dir == null || dir.Length == 0)
! {
! return null;
! }
!
! // Build the full pathname and check
for its existence.
! String pathname = Path.Combine(dir,
"machine.config");
! if(!File.Exists(pathname))
! {
! return null;
! }
! return pathname;
! }
!
! // Load a configuration file and merge it with the current
settings.
! private void Load(String filename)
! {
! // TODO
! }
// Initialize the configuration system.
public void Init()
{
! // Bail out if already initialized.
! if(initialized)
! {
! return;
! }
! try
! {
! // Find the machine
configuration file.
! String machineConfigFile;
! machineConfigFile =
CheckForMachineConfig
!
(InfoMethods.GetUserStorageDir());
! if(machineConfigFile == null)
! {
! machineConfigFile =
CheckForMachineConfig
!
(InfoMethods.GetGlobalConfigDir());
! }
!
! // Find the application's
configuration file.
! String appConfigFile =
!
AppDomain.CurrentDomain.SetupInformation
!
.ConfigurationFile;
!
! // Load the configuration files.
! if(machineConfigFile != null)
! {
! Load(machineConfigFile);
! }
! if(appConfigFile != null &&
File.Exists(appConfigFile))
! {
! Load(appConfigFile);
! }
! }
! finally
! {
! // The system has been
initialized.
! initialized = true;
! }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnetlib/System/Configuration ConfigurationSettings.cs, 1.4, 1.5,
Rhys Weatherley <address@hidden> <=