2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Mon, 28 Nov 2005 11:24:12 +0000 (11:24 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 28 Nov 2005 11:24:12 +0000 (11:24 -0000)
* corlib.dll.sources: added EncodingInfo.cs.

* EncodingInfo.cs : new file.

svn path=/trunk/mcs/; revision=53545

mcs/class/corlib/ChangeLog
mcs/class/corlib/System.Text/ChangeLog
mcs/class/corlib/System.Text/EncodingInfo.cs [new file with mode: 0644]
mcs/class/corlib/corlib.dll.sources

index dbdf08ce20ec1ce97f243b112882309edea9b921..8b25b7cc979a0bbeb3722a5511fa8c8c783c296a 100644 (file)
@@ -1,3 +1,7 @@
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * corlib.dll.sources: added EncodingInfo.cs.
+
 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
 
        * corlib.dll.sources: added UTF32Encoding.cs.
index cbc0bda31a684a8593ff7f1c0485ff0a15b00596..2ab143e3b0387546b77ae597e06e5dcf5bcf9b98 100644 (file)
@@ -1,3 +1,7 @@
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * EncodingInfo.cs : new file.
+
 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
 
        * UTF32Encoding.cs : Sealed. Added the overload which has
diff --git a/mcs/class/corlib/System.Text/EncodingInfo.cs b/mcs/class/corlib/System.Text/EncodingInfo.cs
new file mode 100644 (file)
index 0000000..0556dcf
--- /dev/null
@@ -0,0 +1,82 @@
+//
+// EncodingInfo.cs
+//
+// Author:
+//     Atsushi Enomoto <atsushi@ximian.com>
+//
+
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+namespace System.Text
+{
+       [Serializable]
+       public sealed class EncodingInfo
+       {
+               readonly int codepage;
+               readonly string display_name;
+               readonly string name;
+
+               internal EncodingInfo (int cp, string displayName, string name)
+               {
+                       codepage = cp;
+                       display_name = displayName;
+                       this.name = name;
+               }
+
+               public int CodePage {
+                       get { return codepage; }
+               }
+
+               public string DisplayName {
+                       get { return display_name; }
+               }
+
+               public string Name {
+                       get { return name; }
+               }
+
+               public override bool Equals (object other)
+               {
+                       EncodingInfo ei = other as EncodingInfo;
+                       return ei != null &&
+                               ei.codepage == codepage &&
+                               ei.name == name &&
+                               ei.display_name == display_name;
+               }
+
+               public override int GetHashCode ()
+               {
+                       return codepage + (display_name.GetHashCode () ^ name.GetHashCode ()) << 16;
+               }
+
+               public Encoding GetEncoding ()
+               {
+                       return Encoding.GetEncoding (codepage);
+               }
+       }
+}
+
+#endif
index 2ff47eea1db302cacbd15cbe53ea90b9afae422a..4a9a37e536bdbdac433e06c33304f4cb693ce206 100644 (file)
@@ -1258,6 +1258,7 @@ System.Text/EncoderFallbackException.cs
 System.Text/EncoderReplacementFallback.cs
 System.Text/EncoderReplacementFallbackBuffer.cs
 System.Text/Encoding.cs
+System.Text/EncodingInfo.cs
 System.Text/Latin1Encoding.cs
 System.Text/NormalizationForm.cs
 System.Text/StringBuilder.cs