/* * DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/xpcom/ds/nsIArray.idl */ #ifndef __gen_nsIArray_h__ #define __gen_nsIArray_h__ #include "nsISupports.h" /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif class nsISimpleEnumerator; /* forward declaration */ /* starting interface: nsIArray */ #define NS_IARRAY_IID_STR "114744d9-c369-456e-b55a-52fe52880d2d" #define NS_IARRAY_IID \ {0x114744d9, 0xc369, 0x456e, \ { 0xb5, 0x5a, 0x52, 0xfe, 0x52, 0x88, 0x0d, 0x2d }} class MOZ_BINDING(binding_to, idl, class, XPIDL_nsIArray) nsIArray : public nsISupports { public: NS_INLINE_DECL_STATIC_IID(NS_IARRAY_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = nsIArray; /* readonly attribute unsigned long length; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIArray_length) NS_IMETHOD GetLength(uint32_t *aLength) = 0; /* void queryElementAt (in unsigned long index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_queryElementAt) NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void * * result) = 0; /* unsigned long indexOf (in unsigned long startIndex, in nsISupports element); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_indexOf) NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) = 0; /* [binaryname(ScriptedEnumerate),optional_argc] nsISimpleEnumerator enumerate ([optional] in nsIIDRef aElemIID); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_enumerate) NS_IMETHOD ScriptedEnumerate(const nsIID & aElemIID, uint8_t _argc, nsISimpleEnumerator **_retval) = 0; /* [noscript] nsISimpleEnumerator enumerateImpl (in nsIDRef aElemIID); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_enumerateImpl) NS_IMETHOD EnumerateImpl(const nsID & aElemIID, nsISimpleEnumerator **_retval) = 0; // %{C++:96-100 nsresult Enumerate(nsISimpleEnumerator** aRetVal, const nsID& aElemIID = NS_GET_IID(nsISupports)) { return EnumerateImpl(aElemIID, aRetVal); } // %} }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIARRAY \ NS_IMETHOD GetLength(uint32_t *aLength) override; \ NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void * * result) override; \ NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override; \ NS_IMETHOD ScriptedEnumerate(const nsIID & aElemIID, uint8_t _argc, nsISimpleEnumerator **_retval) override; \ NS_IMETHOD EnumerateImpl(const nsID & aElemIID, nsISimpleEnumerator **_retval) override; \ /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSIARRAY \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIArray_length)\ nsresult GetLength(uint32_t *aLength); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_queryElementAt)\ nsresult QueryElementAt(uint32_t index, const nsIID & uuid, void * * result); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_indexOf)\ nsresult IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_enumerate)\ nsresult ScriptedEnumerate(const nsIID & aElemIID, uint8_t _argc, nsISimpleEnumerator **_retval); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIArray_enumerateImpl)\ nsresult EnumerateImpl(const nsID & aElemIID, nsISimpleEnumerator **_retval); \ /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIARRAY(_to) \ NS_IMETHOD GetLength(uint32_t *aLength) override { return _to GetLength(aLength); } \ NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void * * result) override { return _to QueryElementAt(index, uuid, result); } \ NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override { return _to IndexOf(startIndex, element, _retval); } \ NS_IMETHOD ScriptedEnumerate(const nsIID & aElemIID, uint8_t _argc, nsISimpleEnumerator **_retval) override { return _to ScriptedEnumerate(aElemIID, _argc, _retval); } \ NS_IMETHOD EnumerateImpl(const nsID & aElemIID, nsISimpleEnumerator **_retval) override { return _to EnumerateImpl(aElemIID, _retval); } \ /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIARRAY(_to) \ NS_IMETHOD GetLength(uint32_t *aLength) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLength(aLength); } \ NS_IMETHOD QueryElementAt(uint32_t index, const nsIID & uuid, void * * result) override { return !_to ? NS_ERROR_NULL_POINTER : _to->QueryElementAt(index, uuid, result); } \ NS_IMETHOD IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IndexOf(startIndex, element, _retval); } \ NS_IMETHOD ScriptedEnumerate(const nsIID & aElemIID, uint8_t _argc, nsISimpleEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ScriptedEnumerate(aElemIID, _argc, _retval); } \ NS_IMETHOD EnumerateImpl(const nsID & aElemIID, nsISimpleEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateImpl(aElemIID, _retval); } \ #endif /* __gen_nsIArray_h__ */