1 //------------------------------------------------------------------------------
2 // <copyright file="SectionXmlInfo.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //------------------------------------------------------------------------------
7 namespace System
.Configuration
{
8 using System
.Configuration
.Internal
;
9 using System
.Collections
;
10 using System
.Collections
.Specialized
;
11 using System
.Collections
.Generic
;
12 using System
.Configuration
;
14 using System
.Threading
;
15 using System
.Reflection
;
18 internal sealed class SectionXmlInfo
: IConfigErrorInfo
{
19 private string _configKey
; // configKey
20 private string _definitionConfigPath
; // the config path of the configuration record where this directive was defined
21 private string _targetConfigPath
; // the full config path this location directive applies to
22 private string _subPath
; // the "path" attribute specified in the <location> directive
23 private string _filename
; // filename containg this section definition
24 private int _lineNumber
; // line number where definition occurs
25 private object _streamVersion
; // version of the filestream containing this section
26 private string _configSource
; // the "configSource" attribute
27 private string _configSourceStreamName
; // filename of the configSource
28 private object _configSourceStreamVersion
; // version of the configSource filestream
29 private bool _skipInChildApps
; // skip inheritence by child apps?
30 private string _rawXml
; // raw xml input of the section
31 private string _configBuilderName
; // name of the configuration provider
32 private string _protectionProviderName
; // name of the protection provider
34 private OverrideModeSetting _overrideMode
; // override mode for child config paths
36 internal SectionXmlInfo(
37 string configKey
, string definitionConfigPath
, string targetConfigPath
, string subPath
,
38 string filename
, int lineNumber
, object streamVersion
,
39 string rawXml
, string configSource
, string configSourceStreamName
, object configSourceStreamVersion
,
40 string configBuilderName
, string protectionProviderName
, OverrideModeSetting overrideMode
, bool skipInChildApps
) {
42 _configKey
= configKey
;
43 _definitionConfigPath
= definitionConfigPath
;
44 _targetConfigPath
= targetConfigPath
;
47 _lineNumber
= lineNumber
;
48 _streamVersion
= streamVersion
;
50 _configSource
= configSource
;
51 _configSourceStreamName
= configSourceStreamName
;
52 _configSourceStreamVersion
= configSourceStreamVersion
;
53 _configBuilderName
= configBuilderName
;
54 _protectionProviderName
= protectionProviderName
;
55 _overrideMode
= overrideMode
;
56 _skipInChildApps
= skipInChildApps
;
60 // IConfigErrorInfo interface
61 public string Filename
{
62 get {return _filename;}
65 public int LineNumber
{
66 get {return _lineNumber;}
67 set {_lineNumber = value;}
70 // other access methods
71 internal object StreamVersion
{
72 get {return _streamVersion;}
73 set {_streamVersion = value;}
76 internal string ConfigSource
{
77 get {return _configSource;}
78 set {_configSource = value;}
81 internal string ConfigSourceStreamName
{
82 get {return _configSourceStreamName;}
83 set {_configSourceStreamName = value;}
86 internal object ConfigSourceStreamVersion
{
88 get {return _configSourceStreamVersion; }
91 set {_configSourceStreamVersion = value; }
94 internal string ConfigKey
{
95 get {return _configKey;}
98 internal string DefinitionConfigPath
{
99 get {return _definitionConfigPath;}
102 internal string TargetConfigPath
{
103 get {return _targetConfigPath;}
104 set {_targetConfigPath = value;}
107 internal string SubPath
{
108 get {return _subPath;}
111 internal string RawXml
{
112 get {return _rawXml;}
113 set {_rawXml = value;}
116 internal string ConfigBuilderName
{
117 get { return _configBuilderName; }
118 set { _configBuilderName = value; }
121 internal string ProtectionProviderName
{
122 get {return _protectionProviderName;}
123 set {_protectionProviderName = value;}
126 internal OverrideModeSetting OverrideModeSetting
{
127 get { return _overrideMode; }
128 set { _overrideMode = value; }
131 internal bool SkipInChildApps
{
132 get {return _skipInChildApps;}
133 set {_skipInChildApps = value;}