Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsIHashable.idl
3 : */
4 :
5 : #ifndef __gen_nsIHashable_h__
6 : #define __gen_nsIHashable_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : /* For IDL files that don't want to include root IDL files. */
14 : #ifndef NS_NO_VTABLE
15 : #define NS_NO_VTABLE
16 : #endif
17 :
18 : /* starting interface: nsIHashable */
19 : #define NS_IHASHABLE_IID_STR "17e595fa-b57a-4933-bd0f-b1812e8ab188"
20 :
21 : #define NS_IHASHABLE_IID \
22 : {0x17e595fa, 0xb57a, 0x4933, \
23 : { 0xbd, 0x0f, 0xb1, 0x81, 0x2e, 0x8a, 0xb1, 0x88 }}
24 :
25 10682 : class NS_NO_VTABLE nsIHashable : public nsISupports {
26 : public:
27 :
28 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IHASHABLE_IID)
29 :
30 : /* boolean equals (in nsIHashable aOther); */
31 : NS_IMETHOD Equals(nsIHashable *aOther, bool *_retval) = 0;
32 :
33 : /* readonly attribute unsigned long hashCode; */
34 : NS_IMETHOD GetHashCode(uint32_t *aHashCode) = 0;
35 :
36 : };
37 :
38 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIHashable, NS_IHASHABLE_IID)
39 :
40 : /* Use this macro when declaring classes that implement this interface. */
41 : #define NS_DECL_NSIHASHABLE \
42 : NS_IMETHOD Equals(nsIHashable *aOther, bool *_retval) override; \
43 : NS_IMETHOD GetHashCode(uint32_t *aHashCode) override;
44 :
45 : /* Use this macro when declaring the members of this interface when the
46 : class doesn't implement the interface. This is useful for forwarding. */
47 : #define NS_DECL_NON_VIRTUAL_NSIHASHABLE \
48 : nsresult Equals(nsIHashable *aOther, bool *_retval); \
49 : nsresult GetHashCode(uint32_t *aHashCode);
50 :
51 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
52 : #define NS_FORWARD_NSIHASHABLE(_to) \
53 : NS_IMETHOD Equals(nsIHashable *aOther, bool *_retval) override { return _to Equals(aOther, _retval); } \
54 : NS_IMETHOD GetHashCode(uint32_t *aHashCode) override { return _to GetHashCode(aHashCode); }
55 :
56 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
57 : #define NS_FORWARD_SAFE_NSIHASHABLE(_to) \
58 : NS_IMETHOD Equals(nsIHashable *aOther, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Equals(aOther, _retval); } \
59 : NS_IMETHOD GetHashCode(uint32_t *aHashCode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHashCode(aHashCode); }
60 :
61 : #if 0
62 : /* Use the code below as a template for the implementation class for this interface. */
63 :
64 : /* Header file */
65 : class nsHashable : public nsIHashable
66 : {
67 : public:
68 : NS_DECL_ISUPPORTS
69 : NS_DECL_NSIHASHABLE
70 :
71 : nsHashable();
72 :
73 : private:
74 : ~nsHashable();
75 :
76 : protected:
77 : /* additional members */
78 : };
79 :
80 : /* Implementation file */
81 : NS_IMPL_ISUPPORTS(nsHashable, nsIHashable)
82 :
83 : nsHashable::nsHashable()
84 : {
85 : /* member initializers and constructor code */
86 : }
87 :
88 : nsHashable::~nsHashable()
89 : {
90 : /* destructor code */
91 : }
92 :
93 : /* boolean equals (in nsIHashable aOther); */
94 : NS_IMETHODIMP nsHashable::Equals(nsIHashable *aOther, bool *_retval)
95 : {
96 : return NS_ERROR_NOT_IMPLEMENTED;
97 : }
98 :
99 : /* readonly attribute unsigned long hashCode; */
100 : NS_IMETHODIMP nsHashable::GetHashCode(uint32_t *aHashCode)
101 : {
102 : return NS_ERROR_NOT_IMPLEMENTED;
103 : }
104 :
105 : /* End of implementation class template. */
106 : #endif
107 :
108 :
109 : #endif /* __gen_nsIHashable_h__ */
|