You've already forked linux-packaging-mono
Imported Upstream version 5.10.0.47
Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
parent
88ff76fe28
commit
e46a49ecf1
@@ -12,6 +12,7 @@ namespace System.Configuration.Internal {
|
||||
using System.Threading;
|
||||
using System.Security;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Xml;
|
||||
|
||||
//
|
||||
// A public implementation of IInternalConfigHost that simply
|
||||
@@ -30,15 +31,23 @@ namespace System.Configuration.Internal {
|
||||
// * It allows straightforward chaining of host functionality,
|
||||
// see UpdateConfigHost as an example.
|
||||
//
|
||||
public class DelegatingConfigHost : IInternalConfigHost {
|
||||
public class DelegatingConfigHost : IInternalConfigHost, IInternalConfigurationBuilderHost {
|
||||
IInternalConfigHost _host;
|
||||
IInternalConfigurationBuilderHost _configBuilderHost;
|
||||
|
||||
protected DelegatingConfigHost() {}
|
||||
|
||||
// The host that is delegated to.
|
||||
protected IInternalConfigHost Host {
|
||||
get {return _host;}
|
||||
set {_host = value;}
|
||||
set {
|
||||
_host = value;
|
||||
_configBuilderHost = _host as IInternalConfigurationBuilderHost;
|
||||
}
|
||||
}
|
||||
|
||||
protected IInternalConfigurationBuilderHost ConfigBuilderHost {
|
||||
get { return _configBuilderHost; }
|
||||
}
|
||||
|
||||
public virtual void Init(IInternalConfigRoot configRoot, params object[] hostInitParams) {
|
||||
@@ -226,6 +235,22 @@ namespace System.Configuration.Internal {
|
||||
}
|
||||
}
|
||||
|
||||
public virtual XmlNode ProcessRawXml(XmlNode rawXml, ConfigurationBuilder builder) {
|
||||
if (ConfigBuilderHost != null) {
|
||||
return ConfigBuilderHost.ProcessRawXml(rawXml, builder);
|
||||
}
|
||||
|
||||
return rawXml;
|
||||
}
|
||||
|
||||
public virtual ConfigurationSection ProcessConfigurationSection(ConfigurationSection configSection, ConfigurationBuilder builder) {
|
||||
if (ConfigBuilderHost != null) {
|
||||
return ConfigBuilderHost.ProcessConfigurationSection(configSection, builder);
|
||||
}
|
||||
|
||||
return configSection;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -18,11 +18,12 @@ namespace System.Configuration.Internal {
|
||||
using System.Security.Permissions;
|
||||
using System.Security.Policy;
|
||||
using System.Threading;
|
||||
using System.Xml;
|
||||
|
||||
//
|
||||
// An IInternalConfigHost with common implementations of some file functions.
|
||||
//
|
||||
internal sealed class InternalConfigHost : IInternalConfigHost {
|
||||
internal sealed class InternalConfigHost : IInternalConfigHost, IInternalConfigurationBuilderHost {
|
||||
private IInternalConfigRoot _configRoot;
|
||||
|
||||
internal InternalConfigHost() {
|
||||
@@ -446,6 +447,21 @@ namespace System.Configuration.Internal {
|
||||
}
|
||||
}
|
||||
|
||||
XmlNode IInternalConfigurationBuilderHost.ProcessRawXml(XmlNode rawXml, ConfigurationBuilder builder) {
|
||||
if (builder != null) {
|
||||
return builder.ProcessRawXml(rawXml);
|
||||
}
|
||||
|
||||
return rawXml;
|
||||
}
|
||||
|
||||
ConfigurationSection IInternalConfigurationBuilderHost.ProcessConfigurationSection(ConfigurationSection configSection, ConfigurationBuilder builder) {
|
||||
if (builder != null) {
|
||||
return builder.ProcessConfigurationSection(configSection);
|
||||
}
|
||||
|
||||
return configSection;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -28,11 +28,12 @@ namespace System.Configuration.Internal {
|
||||
// taken begin with the prefix "hl", for example, "hlFindConfigRecord".
|
||||
//
|
||||
internal sealed class InternalConfigRoot : IInternalConfigRoot {
|
||||
IInternalConfigHost _host; // host, need to create records
|
||||
ReaderWriterLock _hierarchyLock; // lock to protect hierarchy
|
||||
IInternalConfigHost _host; // host, need to create records
|
||||
IInternalConfigurationBuilderHost _configBuilderHost; // _configBuilderHost, need to create records
|
||||
ReaderWriterLock _hierarchyLock; // lock to protect hierarchy
|
||||
BaseConfigurationRecord _rootConfigRecord; // root config record, one level above machine.config.
|
||||
bool _isDesignTime; // Is the hierarchy for runtime or designtime?
|
||||
private Configuration _CurrentConfiguration = null;
|
||||
private Configuration _CurrentConfiguration = null;
|
||||
|
||||
public event InternalConfigEventHandler ConfigChanged;
|
||||
public event InternalConfigEventHandler ConfigRemoved;
|
||||
@@ -45,6 +46,7 @@ namespace System.Configuration.Internal {
|
||||
|
||||
void IInternalConfigRoot.Init(IInternalConfigHost host, bool isDesignTime) {
|
||||
_host = host;
|
||||
_configBuilderHost = host as IInternalConfigurationBuilderHost;
|
||||
_isDesignTime = isDesignTime;
|
||||
_hierarchyLock = new ReaderWriterLock();
|
||||
|
||||
@@ -61,6 +63,10 @@ namespace System.Configuration.Internal {
|
||||
get {return _host;}
|
||||
}
|
||||
|
||||
internal IInternalConfigurationBuilderHost ConfigBuilderHost {
|
||||
get { return _configBuilderHost; }
|
||||
}
|
||||
|
||||
internal BaseConfigurationRecord RootConfigRecord {
|
||||
get {return _rootConfigRecord;}
|
||||
}
|
||||
|
Reference in New Issue
Block a user