/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/accessible/interfaces/nsIAccessibleRelation.idl
*/
#ifndef __gen_nsIAccessibleRelation_h__
#define __gen_nsIAccessibleRelation_h__
#include "nsISupports.h"
#include "nsIArray.h"
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIAccessible; /* forward declaration */
/* starting interface: nsIAccessibleRelation */
#define NS_IACCESSIBLERELATION_IID_STR "55b308c4-2ae4-46bc-b4cd-4d4370e0a660"
#define NS_IACCESSIBLERELATION_IID \
{0x55b308c4, 0x2ae4, 0x46bc, \
{ 0xb4, 0xcd, 0x4d, 0x43, 0x70, 0xe0, 0xa6, 0x60 }}
class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIAccessibleRelation) nsIAccessibleRelation : public nsISupports {
public:
NS_INLINE_DECL_STATIC_IID(NS_IACCESSIBLERELATION_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIAccessibleRelation;
enum {
RELATION_LABELLED_BY MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_LABELLED_BY) = 0U,
RELATION_LABEL_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_LABEL_FOR) = 1U,
RELATION_DESCRIBED_BY MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_DESCRIBED_BY) = 2U,
RELATION_DESCRIPTION_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_DESCRIPTION_FOR) = 3U,
RELATION_NODE_CHILD_OF MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_NODE_CHILD_OF) = 4U,
RELATION_NODE_PARENT_OF MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_NODE_PARENT_OF) = 5U,
RELATION_CONTROLLED_BY MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTROLLED_BY) = 6U,
RELATION_CONTROLLER_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTROLLER_FOR) = 7U,
RELATION_FLOWS_TO MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_FLOWS_TO) = 8U,
RELATION_FLOWS_FROM MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_FLOWS_FROM) = 9U,
RELATION_MEMBER_OF MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_MEMBER_OF) = 10U,
RELATION_SUBWINDOW_OF MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_SUBWINDOW_OF) = 11U,
RELATION_EMBEDS MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_EMBEDS) = 12U,
RELATION_EMBEDDED_BY MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_EMBEDDED_BY) = 13U,
RELATION_POPUP_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_POPUP_FOR) = 14U,
RELATION_PARENT_WINDOW_OF MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_PARENT_WINDOW_OF) = 15U,
RELATION_DEFAULT_BUTTON MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_DEFAULT_BUTTON) = 16U,
RELATION_CONTAINING_DOCUMENT MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTAINING_DOCUMENT) = 17U,
RELATION_CONTAINING_TAB_PANE MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTAINING_TAB_PANE) = 18U,
RELATION_CONTAINING_WINDOW MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTAINING_WINDOW) = 19U,
RELATION_CONTAINING_APPLICATION MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_CONTAINING_APPLICATION) = 20U,
RELATION_DETAILS MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_DETAILS) = 21U,
RELATION_DETAILS_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_DETAILS_FOR) = 22U,
RELATION_ERRORMSG MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_ERRORMSG) = 23U,
RELATION_ERRORMSG_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_ERRORMSG_FOR) = 24U,
RELATION_LINKS_TO MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_LINKS_TO) = 25U,
RELATION_ACTION MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_ACTION) = 32U,
RELATION_ACTION_FOR MOZ_BINDING(binding_to, idl, const, XPIDL_nsIAccessibleRelation_RELATION_ACTION_FOR) = 33U
};
/* readonly attribute unsigned long relationType; */
MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIAccessibleRelation_relationType)
NS_IMETHOD GetRelationType(uint32_t *aRelationType) = 0;
/* readonly attribute unsigned long targetsCount; */
MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIAccessibleRelation_targetsCount)
NS_IMETHOD GetTargetsCount(uint32_t *aTargetsCount) = 0;
/* nsIAccessible getTarget (in unsigned long index); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIAccessibleRelation_getTarget)
NS_IMETHOD GetTarget(uint32_t index, nsIAccessible **_retval) = 0;
/* nsIArray getTargets (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIAccessibleRelation_getTargets)
NS_IMETHOD GetTargets(nsIArray **_retval) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACCESSIBLERELATION \
NS_IMETHOD GetRelationType(uint32_t *aRelationType) override; \
NS_IMETHOD GetTargetsCount(uint32_t *aTargetsCount) override; \
NS_IMETHOD GetTarget(uint32_t index, nsIAccessible **_retval) override; \
NS_IMETHOD GetTargets(nsIArray **_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_NSIACCESSIBLERELATION \
MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIAccessibleRelation_relationType)\
nsresult GetRelationType(uint32_t *aRelationType); \
MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIAccessibleRelation_targetsCount)\
nsresult GetTargetsCount(uint32_t *aTargetsCount); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIAccessibleRelation_getTarget)\
nsresult GetTarget(uint32_t index, nsIAccessible **_retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIAccessibleRelation_getTargets)\
nsresult GetTargets(nsIArray **_retval);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACCESSIBLERELATION(_to) \
NS_IMETHOD GetRelationType(uint32_t *aRelationType) override { return _to GetRelationType(aRelationType); } \
NS_IMETHOD GetTargetsCount(uint32_t *aTargetsCount) override { return _to GetTargetsCount(aTargetsCount); } \
NS_IMETHOD GetTarget(uint32_t index, nsIAccessible **_retval) override { return _to GetTarget(index, _retval); } \
NS_IMETHOD GetTargets(nsIArray **_retval) override { return _to GetTargets(_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_NSIACCESSIBLERELATION(_to) \
NS_IMETHOD GetRelationType(uint32_t *aRelationType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRelationType(aRelationType); } \
NS_IMETHOD GetTargetsCount(uint32_t *aTargetsCount) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTargetsCount(aTargetsCount); } \
NS_IMETHOD GetTarget(uint32_t index, nsIAccessible **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTarget(index, _retval); } \
NS_IMETHOD GetTargets(nsIArray **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTargets(_retval); }
#endif /* __gen_nsIAccessibleRelation_h__ */