System.Configuration.BaseConfigurationRecord
namespace System.Configuration
{
internal abstract class BaseConfigurationRecord : IInternalConfigRecord
{
protected sealed class ConfigRecordStreamInfo
{
}
protected const string NewLine = "\r\n";
protected const string ConfigurationTag = "configuration";
protected const string XmlnsAttribute = "xmlns";
protected const string ConfigurationNamespace = "http://schemas.microsoft.com/.NetConfiguration/v2.0";
protected const string ConfigSectionsTag = "configSections";
protected const string SectionTag = "section";
protected const string SectionNameAttribute = "name";
protected const string SectionTypeAttribute = "type";
protected const string SectionAllowLocationAttribute = "allowLocation";
protected const string SectionAllowDefinitionAttribute = "allowDefinition";
protected const string AllowDefinitionEverywhere = "Everywhere";
protected const string AllowDefinitionMachineOnly = "MachineOnly";
protected const string AllowDefinitionMachineToApplication = "MachineToApplication";
protected const string AllowDefinitionMachineToWebRoot = "MachineToWebRoot";
protected const string SectionAllowExeDefinitionAttribute = "allowExeDefinition";
protected const string AllowExeDefinitionMachineToRoaming = "MachineToRoamingUser";
protected const string AllowExeDefinitionMachineToLocal = "MachineToLocalUser";
protected const string SectionRestartonExternalChangesAttribute = "restartOnExternalChanges";
protected const string SectionRequirePermissionAttribute = "requirePermission";
protected const string SectionGroupTag = "sectionGroup";
protected const string SectionGroupNameAttribute = "name";
protected const string SectionGroupTypeAttribute = "type";
protected const string RemoveTag = "remove";
protected const string ClearTag = "clear";
protected const string LocationTag = "location";
protected const string LocationPathAttribute = "path";
protected const string LocationInheritInChildApplicationsAttribute = "inheritInChildApplications";
protected const string ConfigSourceAttribute = "configSource";
protected const string FormatNewConfigFile = "<?xml version=\"1.0\" encoding=\"{0}\"?>\r\n";
protected const string FormatConfiguration = "<configuration>\r\n";
protected const string FormatConfigurationNamespace = "<configuration xmlns=\"{0}\">\r\n";
protected const string FormatConfigurationEndElement = "</configuration>";
protected const string FormatLocationNoPath = "<location {0} inheritInChildApplications=\"{1}\">\r\n";
protected const string FormatLocationPath = "<location path=\"{2}\" {0} inheritInChildApplications=\"{1}\">\r\n";
protected const string FormatLocationEndElement = "</location>";
protected const string FormatSectionConfigSource = "<{0} configSource=\"{1}\" />";
protected const string FormatConfigSourceFile = "<?xml version=\"1.0\" encoding=\"{0}\"?>\r\n";
protected const string FormatSectionGroupEndElement = "</sectionGroup>";
protected const int ClassSupportsChangeNotifications = 1;
protected const int ClassSupportsRefresh = 2;
protected const int ClassSupportsImpersonation = 4;
protected const int ClassSupportsRestrictedPermissions = 8;
protected const int ClassSupportsKeepInputs = 16;
protected const int ClassSupportsDelayedInit = 32;
protected const int ClassIgnoreLocalErrors = 64;
protected const int ProtectedDataInitialized = 1;
protected const int Closed = 2;
protected const int PrefetchAll = 8;
protected const int IsAboveApplication = 32;
protected const int NamespacePresentInFile = 512;
protected const int IsTrusted = 8192;
protected const int SupportsChangeNotifications = 65536;
protected const int SupportsRefresh = 131072;
protected const int SupportsPath = 262144;
protected const int SupportsKeepInputs = 524288;
protected const int SupportsLocation = 1048576;
protected const int ForceLocationWritten = 16777216;
protected const int SuggestLocationRemoval = 33554432;
protected const int NamespacePresentCurrent = 67108864;
protected Hashtable _children;
protected string _configName;
protected string _configPath;
protected InternalConfigRoot _configRoot;
protected Hashtable _factoryRecords;
protected SafeBitVector32 _flags;
protected ArrayList _locationSections;
protected string _locationSubPath;
protected BaseConfigurationRecord _parent;
protected Hashtable _sectionRecords;
protected abstract SimpleBitVector32 ClassFlags { get; }
protected ConfigRecordStreamInfo ConfigStreamInfo { get; }
public string ConfigPath { get; }
public string StreamName { get; }
public bool HasInitErrors { get; }
public void ThrowIfInitErrors();
public object GetSection(string configKey);
public object GetLkgSection(string configKey);
public void RefreshSection(string configKey);
public void Remove();
protected abstract object CreateSectionFactory(FactoryRecord factoryRecord);
protected abstract object CreateSection(bool inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, object parentConfig, ConfigXmlReader reader);
protected abstract object UseParentResult(string configKey, object parentResult, SectionRecord sectionRecord);
protected abstract object GetRuntimeObject(object result);
protected void CreateSectionDefault(string configKey, bool getRuntimeObject, FactoryRecord factoryRecord, SectionRecord sectionRecord, out object result, out object resultRuntimeObject);
protected ConfigXmlReader GetSectionXmlReader(string[] keys, SectionInput input);
protected object CallCreateSection(bool inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, object parentConfig, ConfigXmlReader reader, string filename, int line);
protected OverrideMode GetSectionLockedMode(string configKey);
protected OverrideMode GetSectionLockedMode(string configKey, out OverrideMode childLockMode);
protected virtual void AddLocation(string locationSubPath);
protected static void VerifySectionName(string name, XmlUtil xmlUtil, ExceptionAction action, bool allowImplicit);
protected static void VerifySectionName(string name, IConfigErrorInfo errorInfo, bool allowImplicit);
protected SectionRecord GetSectionRecord(string configKey, bool permitErrors);
protected SectionRecord EnsureSectionRecord(string configKey, bool permitErrors);
protected SectionRecord EnsureSectionRecordUnsafe(string configKey, bool permitErrors);
protected Hashtable EnsureFactories();
protected object MonitorStream(string configKey, string configSource, string streamname);
protected void ValidateUniqueChildConfigSource(string configSourceStreamName, string configSourceArg, IConfigErrorInfo errorInfo);
protected virtual string CallHostDecryptSection(string encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedConfig);
}
}