Initial commit
[mono.git] / mcs / class / referencesource / System / sys / system / configuration / ConfigXmlAttribute.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="ConfigXmlAttribute.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //------------------------------------------------------------------------------
6
7 namespace System.Configuration
8 {
9     using System.Configuration.Internal;
10     using System.IO;
11     using System.Xml;
12     using System.Security.Permissions;
13
14     internal sealed class ConfigXmlAttribute : XmlAttribute, IConfigErrorInfo {
15         int _line;
16         string _filename;                
17
18         public ConfigXmlAttribute( string filename, int line, string prefix, string localName, string namespaceUri, XmlDocument doc )
19             : base( prefix, localName, namespaceUri, doc ) {
20             _line = line;
21             _filename = filename;
22         }
23         int IConfigErrorInfo.LineNumber {
24             get { return _line; }
25         }
26         string IConfigErrorInfo.Filename {
27             get { return _filename; }
28         }
29         public override XmlNode CloneNode(bool deep) {
30             XmlNode cloneNode = base.CloneNode(deep);
31             ConfigXmlAttribute clone = cloneNode as ConfigXmlAttribute;
32             if (clone != null) {
33                 clone._line = _line;
34                 clone._filename = _filename;
35             }
36             return cloneNode;
37         }
38     }
39 }