1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/xpcom/ds/nsICollection.idl
3 : */
4 :
5 : #ifndef __gen_nsICollection_h__
6 : #define __gen_nsICollection_h__
7 :
8 :
9 : #ifndef __gen_nsISerializable_h__
10 : #include "nsISerializable.h"
11 : #endif
12 :
13 : #ifndef __gen_nsIEnumerator_h__
14 : #include "nsIEnumerator.h"
15 : #endif
16 :
17 : /* For IDL files that don't want to include root IDL files. */
18 : #ifndef NS_NO_VTABLE
19 : #define NS_NO_VTABLE
20 : #endif
21 :
22 : /* starting interface: nsICollection */
23 : #define NS_ICOLLECTION_IID_STR "83b6019c-cbc4-11d2-8cca-0060b0fc14a3"
24 :
25 : #define NS_ICOLLECTION_IID \
26 : {0x83b6019c, 0xcbc4, 0x11d2, \
27 : { 0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 }}
28 :
29 1748 : class NS_NO_VTABLE NS_SCRIPTABLE nsICollection : public nsISerializable {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICOLLECTION_IID)
33 :
34 : /* PRUint32 Count (); */
35 : NS_SCRIPTABLE NS_IMETHOD Count(PRUint32 *_retval NS_OUTPARAM) = 0;
36 :
37 : /* nsISupports GetElementAt (in PRUint32 index); */
38 : NS_SCRIPTABLE NS_IMETHOD GetElementAt(PRUint32 index, nsISupports * *_retval NS_OUTPARAM) = 0;
39 :
40 : /* void QueryElementAt (in PRUint32 index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
41 : NS_SCRIPTABLE NS_IMETHOD QueryElementAt(PRUint32 index, const nsIID & uuid, void **result NS_OUTPARAM) = 0;
42 :
43 : /* void SetElementAt (in PRUint32 index, in nsISupports item); */
44 : NS_SCRIPTABLE NS_IMETHOD SetElementAt(PRUint32 index, nsISupports *item) = 0;
45 :
46 : /* void AppendElement (in nsISupports item); */
47 : NS_SCRIPTABLE NS_IMETHOD AppendElement(nsISupports *item) = 0;
48 :
49 : /* void RemoveElement (in nsISupports item); */
50 : NS_SCRIPTABLE NS_IMETHOD RemoveElement(nsISupports *item) = 0;
51 :
52 : /* nsIEnumerator Enumerate (); */
53 : NS_SCRIPTABLE NS_IMETHOD Enumerate(nsIEnumerator * *_retval NS_OUTPARAM) = 0;
54 :
55 : /* void Clear (); */
56 : NS_SCRIPTABLE NS_IMETHOD Clear(void) = 0;
57 :
58 : };
59 :
60 : NS_DEFINE_STATIC_IID_ACCESSOR(nsICollection, NS_ICOLLECTION_IID)
61 :
62 : /* Use this macro when declaring classes that implement this interface. */
63 : #define NS_DECL_NSICOLLECTION \
64 : NS_SCRIPTABLE NS_IMETHOD Count(PRUint32 *_retval NS_OUTPARAM); \
65 : NS_SCRIPTABLE NS_IMETHOD GetElementAt(PRUint32 index, nsISupports * *_retval NS_OUTPARAM); \
66 : NS_SCRIPTABLE NS_IMETHOD QueryElementAt(PRUint32 index, const nsIID & uuid, void **result NS_OUTPARAM); \
67 : NS_SCRIPTABLE NS_IMETHOD SetElementAt(PRUint32 index, nsISupports *item); \
68 : NS_SCRIPTABLE NS_IMETHOD AppendElement(nsISupports *item); \
69 : NS_SCRIPTABLE NS_IMETHOD RemoveElement(nsISupports *item); \
70 : NS_SCRIPTABLE NS_IMETHOD Enumerate(nsIEnumerator * *_retval NS_OUTPARAM); \
71 : NS_SCRIPTABLE NS_IMETHOD Clear(void);
72 :
73 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
74 : #define NS_FORWARD_NSICOLLECTION(_to) \
75 : NS_SCRIPTABLE NS_IMETHOD Count(PRUint32 *_retval NS_OUTPARAM) { return _to Count(_retval); } \
76 : NS_SCRIPTABLE NS_IMETHOD GetElementAt(PRUint32 index, nsISupports * *_retval NS_OUTPARAM) { return _to GetElementAt(index, _retval); } \
77 : NS_SCRIPTABLE NS_IMETHOD QueryElementAt(PRUint32 index, const nsIID & uuid, void **result NS_OUTPARAM) { return _to QueryElementAt(index, uuid, result); } \
78 : NS_SCRIPTABLE NS_IMETHOD SetElementAt(PRUint32 index, nsISupports *item) { return _to SetElementAt(index, item); } \
79 : NS_SCRIPTABLE NS_IMETHOD AppendElement(nsISupports *item) { return _to AppendElement(item); } \
80 : NS_SCRIPTABLE NS_IMETHOD RemoveElement(nsISupports *item) { return _to RemoveElement(item); } \
81 : NS_SCRIPTABLE NS_IMETHOD Enumerate(nsIEnumerator * *_retval NS_OUTPARAM) { return _to Enumerate(_retval); } \
82 : NS_SCRIPTABLE NS_IMETHOD Clear(void) { return _to Clear(); }
83 :
84 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
85 : #define NS_FORWARD_SAFE_NSICOLLECTION(_to) \
86 : NS_SCRIPTABLE NS_IMETHOD Count(PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Count(_retval); } \
87 : NS_SCRIPTABLE NS_IMETHOD GetElementAt(PRUint32 index, nsISupports * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetElementAt(index, _retval); } \
88 : NS_SCRIPTABLE NS_IMETHOD QueryElementAt(PRUint32 index, const nsIID & uuid, void **result NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryElementAt(index, uuid, result); } \
89 : NS_SCRIPTABLE NS_IMETHOD SetElementAt(PRUint32 index, nsISupports *item) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetElementAt(index, item); } \
90 : NS_SCRIPTABLE NS_IMETHOD AppendElement(nsISupports *item) { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendElement(item); } \
91 : NS_SCRIPTABLE NS_IMETHOD RemoveElement(nsISupports *item) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveElement(item); } \
92 : NS_SCRIPTABLE NS_IMETHOD Enumerate(nsIEnumerator * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Enumerate(_retval); } \
93 : NS_SCRIPTABLE NS_IMETHOD Clear(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Clear(); }
94 :
95 : #if 0
96 : /* Use the code below as a template for the implementation class for this interface. */
97 :
98 : /* Header file */
99 : class nsCollection : public nsICollection
100 : {
101 : public:
102 : NS_DECL_ISUPPORTS
103 : NS_DECL_NSICOLLECTION
104 :
105 : nsCollection();
106 :
107 : private:
108 : ~nsCollection();
109 :
110 : protected:
111 : /* additional members */
112 : };
113 :
114 : /* Implementation file */
115 : NS_IMPL_ISUPPORTS1(nsCollection, nsICollection)
116 :
117 : nsCollection::nsCollection()
118 : {
119 : /* member initializers and constructor code */
120 : }
121 :
122 : nsCollection::~nsCollection()
123 : {
124 : /* destructor code */
125 : }
126 :
127 : /* PRUint32 Count (); */
128 : NS_IMETHODIMP nsCollection::Count(PRUint32 *_retval NS_OUTPARAM)
129 : {
130 : return NS_ERROR_NOT_IMPLEMENTED;
131 : }
132 :
133 : /* nsISupports GetElementAt (in PRUint32 index); */
134 : NS_IMETHODIMP nsCollection::GetElementAt(PRUint32 index, nsISupports * *_retval NS_OUTPARAM)
135 : {
136 : return NS_ERROR_NOT_IMPLEMENTED;
137 : }
138 :
139 : /* void QueryElementAt (in PRUint32 index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
140 : NS_IMETHODIMP nsCollection::QueryElementAt(PRUint32 index, const nsIID & uuid, void **result NS_OUTPARAM)
141 : {
142 : return NS_ERROR_NOT_IMPLEMENTED;
143 : }
144 :
145 : /* void SetElementAt (in PRUint32 index, in nsISupports item); */
146 : NS_IMETHODIMP nsCollection::SetElementAt(PRUint32 index, nsISupports *item)
147 : {
148 : return NS_ERROR_NOT_IMPLEMENTED;
149 : }
150 :
151 : /* void AppendElement (in nsISupports item); */
152 : NS_IMETHODIMP nsCollection::AppendElement(nsISupports *item)
153 : {
154 : return NS_ERROR_NOT_IMPLEMENTED;
155 : }
156 :
157 : /* void RemoveElement (in nsISupports item); */
158 : NS_IMETHODIMP nsCollection::RemoveElement(nsISupports *item)
159 : {
160 : return NS_ERROR_NOT_IMPLEMENTED;
161 : }
162 :
163 : /* nsIEnumerator Enumerate (); */
164 : NS_IMETHODIMP nsCollection::Enumerate(nsIEnumerator * *_retval NS_OUTPARAM)
165 : {
166 : return NS_ERROR_NOT_IMPLEMENTED;
167 : }
168 :
169 : /* void Clear (); */
170 : NS_IMETHODIMP nsCollection::Clear()
171 : {
172 : return NS_ERROR_NOT_IMPLEMENTED;
173 : }
174 :
175 : /* End of implementation class template. */
176 : #endif
177 :
178 :
179 : #ifndef nsCOMPtr_h__
180 : #include "nsCOMPtr.h"
181 : #endif
182 : class nsQueryElementAt : public nsCOMPtr_helper
183 : {
184 : public:
185 0 : nsQueryElementAt( nsICollection* aCollection, PRUint32 aIndex, nsresult* aErrorPtr )
186 : : mCollection(aCollection),
187 : mIndex(aIndex),
188 0 : mErrorPtr(aErrorPtr)
189 : {
190 : // nothing else to do here
191 0 : }
192 : virtual nsresult NS_FASTCALL operator()( const nsIID& aIID, void** ) const;
193 : private:
194 : nsICollection* mCollection;
195 : PRUint32 mIndex;
196 : nsresult* mErrorPtr;
197 : };
198 : inline
199 : const nsQueryElementAt
200 0 : do_QueryElementAt( nsICollection* aCollection, PRUint32 aIndex, nsresult* aErrorPtr = 0 )
201 : {
202 0 : return nsQueryElementAt(aCollection, aIndex, aErrorPtr);
203 : }
204 :
205 : #endif /* __gen_nsICollection_h__ */
|