Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsIArray.idl
3 : */
4 :
5 : #ifndef __gen_nsIArray_h__
6 : #define __gen_nsIArray_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 : class nsISimpleEnumerator; /* forward declaration */
18 :
19 :
20 : /* starting interface: nsIArray */
21 : #define NS_IARRAY_IID_STR "114744d9-c369-456e-b55a-52fe52880d2d"
22 :
23 : #define NS_IARRAY_IID \
24 : {0x114744d9, 0xc369, 0x456e, \
25 : { 0xb5, 0x5a, 0x52, 0xfe, 0x52, 0x88, 0x0d, 0x2d }}
26 :
27 2 : class NS_NO_VTABLE nsIArray : public nsISupports {
28 : public:
29 :
30 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IARRAY_IID)
31 :
32 : /* readonly attribute unsigned long length; */
33 : NS_IMETHOD GetLength(uint32_t *aLength) = 0;
34 :
35 : /* void queryElementAt (in unsigned long index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
36 : NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void **result) = 0;
37 :
38 : /* unsigned long indexOf (in unsigned long startIndex, in nsISupports element); */
39 : NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) = 0;
40 :
41 : /* nsISimpleEnumerator enumerate (); */
42 : NS_IMETHOD Enumerate(nsISimpleEnumerator * *_retval) = 0;
43 :
44 : };
45 :
46 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIArray, NS_IARRAY_IID)
47 :
48 : /* Use this macro when declaring classes that implement this interface. */
49 : #define NS_DECL_NSIARRAY \
50 : NS_IMETHOD GetLength(uint32_t *aLength) override; \
51 : NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void **result) override; \
52 : NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override; \
53 : NS_IMETHOD Enumerate(nsISimpleEnumerator * *_retval) override;
54 :
55 : /* Use this macro when declaring the members of this interface when the
56 : class doesn't implement the interface. This is useful for forwarding. */
57 : #define NS_DECL_NON_VIRTUAL_NSIARRAY \
58 : nsresult GetLength(uint32_t *aLength); \
59 : nsresult QueryElementAt(uint32_t index, const nsIID & uuid, void **result); \
60 : nsresult IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval); \
61 : nsresult Enumerate(nsISimpleEnumerator * *_retval);
62 :
63 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
64 : #define NS_FORWARD_NSIARRAY(_to) \
65 : NS_IMETHOD GetLength(uint32_t *aLength) override { return _to GetLength(aLength); } \
66 : NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void **result) override { return _to QueryElementAt(index, uuid, result); } \
67 : NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override { return _to IndexOf(startIndex, element, _retval); } \
68 : NS_IMETHOD Enumerate(nsISimpleEnumerator * *_retval) override { return _to Enumerate(_retval); }
69 :
70 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
71 : #define NS_FORWARD_SAFE_NSIARRAY(_to) \
72 : NS_IMETHOD GetLength(uint32_t *aLength) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLength(aLength); } \
73 : NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void **result) override { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryElementAt(index, uuid, result); } \
74 : NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IndexOf(startIndex, element, _retval); } \
75 : NS_IMETHOD Enumerate(nsISimpleEnumerator * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Enumerate(_retval); }
76 :
77 : #if 0
78 : /* Use the code below as a template for the implementation class for this interface. */
79 :
80 : /* Header file */
81 : class nsArray : public nsIArray
82 : {
83 : public:
84 : NS_DECL_ISUPPORTS
85 : NS_DECL_NSIARRAY
86 :
87 : nsArray();
88 :
89 : private:
90 : ~nsArray();
91 :
92 : protected:
93 : /* additional members */
94 : };
95 :
96 : /* Implementation file */
97 : NS_IMPL_ISUPPORTS(nsArray, nsIArray)
98 :
99 : nsArray::nsArray()
100 : {
101 : /* member initializers and constructor code */
102 : }
103 :
104 : nsArray::~nsArray()
105 : {
106 : /* destructor code */
107 : }
108 :
109 : /* readonly attribute unsigned long length; */
110 : NS_IMETHODIMP nsArray::GetLength(uint32_t *aLength)
111 : {
112 : return NS_ERROR_NOT_IMPLEMENTED;
113 : }
114 :
115 : /* void queryElementAt (in unsigned long index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
116 : NS_IMETHODIMP nsArray::QueryElementAt(uint32_t index, const nsIID & uuid, void **result)
117 : {
118 : return NS_ERROR_NOT_IMPLEMENTED;
119 : }
120 :
121 : /* unsigned long indexOf (in unsigned long startIndex, in nsISupports element); */
122 : NS_IMETHODIMP nsArray::IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval)
123 : {
124 : return NS_ERROR_NOT_IMPLEMENTED;
125 : }
126 :
127 : /* nsISimpleEnumerator enumerate (); */
128 : NS_IMETHODIMP nsArray::Enumerate(nsISimpleEnumerator * *_retval)
129 : {
130 : return NS_ERROR_NOT_IMPLEMENTED;
131 : }
132 :
133 : /* End of implementation class template. */
134 : #endif
135 :
136 :
137 : #endif /* __gen_nsIArray_h__ */
|