|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #include "nsISupports.idl" |
|
6 |
|
7 /** |
|
8 * Represents an object that can be stored in a hashtable. |
|
9 */ |
|
10 [scriptable, uuid(17e595fa-b57a-4933-bd0f-b1812e8ab188)] |
|
11 interface nsIHashable : nsISupports |
|
12 { |
|
13 /** |
|
14 * Is this object the equivalent of the other object? |
|
15 */ |
|
16 boolean equals(in nsIHashable aOther); |
|
17 |
|
18 /** |
|
19 * A generated hashcode for this object. Objects that are equivalent |
|
20 * must have the same hash code. Getting this property should never |
|
21 * throw an exception! |
|
22 */ |
|
23 readonly attribute unsigned long hashCode; |
|
24 }; |