[corlib] More globalization from reference sources
[mono.git] / mcs / class / corlib / System.Globalization / SortKey.cs
diff --git a/mcs/class/corlib/System.Globalization/SortKey.cs b/mcs/class/corlib/System.Globalization/SortKey.cs
deleted file mode 100644 (file)
index 564517d..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// System.Globalization.SortKey.cs
-//
-// Author:
-//     Dick Porter (dick@ximian.com)
-//
-// (C) 2002 Ximian, Inc.
-//
-
-//
-// Copyright (C) 2004 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.
-//
-using System.Runtime.InteropServices;
-
-namespace System.Globalization {
-
-       [System.Runtime.InteropServices.ComVisible(true)]
-       [Serializable]
-       [StructLayout (LayoutKind.Sequential)]
-       public class SortKey {
-               private string str;
-               private CompareOptions options;
-               private byte[] key;
-               private int lcid;
-               
-               /* Hide the .ctor() */
-               SortKey () {}
-
-               internal SortKey (int lcid, string source, CompareOptions options)
-               {
-                       this.lcid = lcid;
-                       str = source;
-                       this.options = options;
-               }
-
-               public virtual byte[] KeyData
-               {
-                       get {
-                               return key;
-                       }
-               }
-
-               public virtual string OriginalString
-               {
-                       get {
-                               return str;
-                       }
-               }
-
-               public static int Compare (SortKey sortkey1, SortKey sortkey2)
-               {
-                       if (sortkey1 == null) {
-                               throw new ArgumentNullException ("sortkey1");
-                       }
-                       if (sortkey2 == null) {
-                               throw new ArgumentNullException ("sortkey2");
-                       }
-
-                       byte[] keydata1 = sortkey1.key;
-                       byte[] keydata2 = sortkey2.key;
-
-                       if (keydata1.Length == 0) {
-                               if (keydata2.Length == 0) {
-                                       return 0;
-                               }
-                               return -1;
-                       }
-                       
-                       int min_len = (keydata1.Length < keydata2.Length) ? keydata1.Length : keydata2.Length;
-
-                       for (int i = 0; i < min_len; i++) {
-                               if (keydata1[i] > keydata2[i]) {
-                                       return 1;
-                               } else if (keydata1[i] < keydata2[i]) {
-                                       return -1;
-                               }
-                       }
-
-                       if (keydata1.Length < keydata2.Length) {
-                               return -1;
-                       } else if (keydata1.Length > keydata2.Length) {
-                               return 1;
-                       } else {
-                               return 0;
-                       }
-               }
-
-               public override bool Equals (object value)
-               {
-                       SortKey other = (value as SortKey);
-                       if (other != null) {
-                               if ((this.lcid == other.lcid) &&
-                                  (this.options == other.options) &&
-                                  (Compare (this, other) == 0)) {
-                                       return true;
-                               }
-                       }
-
-                       return false;
-               }
-
-               public override int GetHashCode ()
-               {
-                       return str.GetHashCode ();
-               }
-
-               public override string ToString ()
-               {
-                       return ("SortKey - " + lcid + ", " + options + ", " + str);
-               }
-       }
-}