diff options
Diffstat (limited to 'OpenSim/Framework/OSUUID.cs')
-rw-r--r-- | OpenSim/Framework/OSUUID.cs | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/OpenSim/Framework/OSUUID.cs b/OpenSim/Framework/OSUUID.cs index 90de347..cb83ff2 100644 --- a/OpenSim/Framework/OSUUID.cs +++ b/OpenSim/Framework/OSUUID.cs | |||
@@ -31,13 +31,17 @@ using libsecondlife; | |||
31 | namespace OpenSim.Framework | 31 | namespace OpenSim.Framework |
32 | { | 32 | { |
33 | [Serializable] | 33 | [Serializable] |
34 | public class OSUUID: IComparable | 34 | public class OSUUID : IComparable |
35 | { | 35 | { |
36 | public static readonly OSUUID Zero = new OSUUID(); | ||
36 | public Guid UUID; | 37 | public Guid UUID; |
37 | 38 | ||
38 | public OSUUID() {} | 39 | public OSUUID() |
40 | { | ||
41 | } | ||
39 | 42 | ||
40 | /* Constructors */ | 43 | /* Constructors */ |
44 | |||
41 | public OSUUID(string s) | 45 | public OSUUID(string s) |
42 | { | 46 | { |
43 | if (s == null) | 47 | if (s == null) |
@@ -61,6 +65,21 @@ namespace OpenSim.Framework | |||
61 | UUID = new Guid(0, 0, 0, BitConverter.GetBytes(u)); | 65 | UUID = new Guid(0, 0, 0, BitConverter.GetBytes(u)); |
62 | } | 66 | } |
63 | 67 | ||
68 | #region IComparable Members | ||
69 | |||
70 | public int CompareTo(object obj) | ||
71 | { | ||
72 | if (obj is OSUUID) | ||
73 | { | ||
74 | OSUUID ID = (OSUUID) obj; | ||
75 | return UUID.CompareTo(ID.UUID); | ||
76 | } | ||
77 | |||
78 | throw new ArgumentException("object is not a OSUUID"); | ||
79 | } | ||
80 | |||
81 | #endregion | ||
82 | |||
64 | // out conversion | 83 | // out conversion |
65 | public override string ToString() | 84 | public override string ToString() |
66 | { | 85 | { |
@@ -81,20 +100,9 @@ namespace OpenSim.Framework | |||
81 | public override bool Equals(object o) | 100 | public override bool Equals(object o) |
82 | { | 101 | { |
83 | if (!(o is LLUUID)) return false; | 102 | if (!(o is LLUUID)) return false; |
84 | |||
85 | OSUUID uuid = (OSUUID)o; | ||
86 | return UUID == uuid.UUID; | ||
87 | } | ||
88 | |||
89 | public int CompareTo(object obj) | ||
90 | { | ||
91 | if (obj is OSUUID) | ||
92 | { | ||
93 | OSUUID ID = (OSUUID)obj; | ||
94 | return this.UUID.CompareTo(ID.UUID); | ||
95 | } | ||
96 | 103 | ||
97 | throw new ArgumentException("object is not a OSUUID"); | 104 | OSUUID uuid = (OSUUID) o; |
105 | return UUID == uuid.UUID; | ||
98 | } | 106 | } |
99 | 107 | ||
100 | // Static methods | 108 | // Static methods |
@@ -102,7 +110,5 @@ namespace OpenSim.Framework | |||
102 | { | 110 | { |
103 | return new OSUUID(Guid.NewGuid()); | 111 | return new OSUUID(Guid.NewGuid()); |
104 | } | 112 | } |
105 | |||
106 | public static readonly OSUUID Zero = new OSUUID(); | ||
107 | } | 113 | } |
108 | } | 114 | } \ No newline at end of file |