/* THIS FILE IS AUTOGENERATED - DO NOT EDIT */
#ifndef _mozilla_a11y_generated_AccEvents_h_
#define _mozilla_a11y_generated_AccEvents_h_

#include "nscore.h"
#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "nsString.h"
#include "nsIAccessibleEvent.h"
#include "nsIAccessibleStateChangeEvent.h"
#include "nsIAccessibleTextChangeEvent.h"
#include "nsIAccessibleHideEvent.h"
#include "nsIAccessibleCaretMoveEvent.h"
#include "nsIAccessibleObjectAttributeChangedEvent.h"
#include "nsIAccessibleTableChangeEvent.h"
#include "nsIAccessibleVirtualCursorChangeEvent.h"

class xpcAccEvent final : public nsIAccessibleEvent
{
public:
  xpcAccEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccEvent)
  NS_DECL_NSIACCESSIBLEEVENT

private:
  ~xpcAccEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
};


class xpcAccStateChangeEvent final : public nsIAccessibleStateChangeEvent
{
public:
  xpcAccStateChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, uint32_t  aState, bool  aIsExtraState, bool  aIsEnabled) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mState(aState), mIsExtraState(aIsExtraState), mIsEnabled(aIsEnabled)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccStateChangeEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLESTATECHANGEEVENT

private:
  ~xpcAccStateChangeEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  uint32_t mState;
  bool mIsExtraState;
  bool mIsEnabled;
};


class xpcAccTextChangeEvent final : public nsIAccessibleTextChangeEvent
{
public:
  xpcAccTextChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, int32_t  aStart, uint32_t  aLength, bool  aIsInserted, const nsAString &  aModifiedText) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mStart(aStart), mLength(aLength), mIsInserted(aIsInserted), mModifiedText(aModifiedText)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccTextChangeEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLETEXTCHANGEEVENT

private:
  ~xpcAccTextChangeEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mStart;
  uint32_t mLength;
  bool mIsInserted;
  nsString mModifiedText;
};


class xpcAccHideEvent final : public nsIAccessibleHideEvent
{
public:
  xpcAccHideEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, nsIAccessible * aTargetParent, nsIAccessible * aTargetNextSibling, nsIAccessible * aTargetPrevSibling) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mTargetParent(aTargetParent), mTargetNextSibling(aTargetNextSibling), mTargetPrevSibling(aTargetPrevSibling)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccHideEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLEHIDEEVENT

private:
  ~xpcAccHideEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  nsCOMPtr<nsIAccessible> mTargetParent;
  nsCOMPtr<nsIAccessible> mTargetNextSibling;
  nsCOMPtr<nsIAccessible> mTargetPrevSibling;
};


class xpcAccCaretMoveEvent final : public nsIAccessibleCaretMoveEvent
{
public:
  xpcAccCaretMoveEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, int32_t  aCaretOffset) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mCaretOffset(aCaretOffset)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccCaretMoveEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLECARETMOVEEVENT

private:
  ~xpcAccCaretMoveEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mCaretOffset;
};


class xpcAccObjectAttributeChangedEvent final : public nsIAccessibleObjectAttributeChangedEvent
{
public:
  xpcAccObjectAttributeChangedEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, nsIAtom * aChangedAttribute) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mChangedAttribute(aChangedAttribute)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccObjectAttributeChangedEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLEOBJECTATTRIBUTECHANGEDEVENT

private:
  ~xpcAccObjectAttributeChangedEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  nsCOMPtr<nsIAtom> mChangedAttribute;
};


class xpcAccTableChangeEvent final : public nsIAccessibleTableChangeEvent
{
public:
  xpcAccTableChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, int32_t  aRowOrColIndex, int32_t  aRowsOrColsCount) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mRowOrColIndex(aRowOrColIndex), mRowsOrColsCount(aRowsOrColsCount)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccTableChangeEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLETABLECHANGEEVENT

private:
  ~xpcAccTableChangeEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mRowOrColIndex;
  int32_t mRowsOrColsCount;
};


class xpcAccVirtualCursorChangeEvent final : public nsIAccessibleVirtualCursorChangeEvent
{
public:
  xpcAccVirtualCursorChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsIDOMNode * aDOMNode, bool  aIsFromUserInput, nsIAccessible * aOldAccessible, int32_t  aOldStartOffset, int32_t  aOldEndOffset, int16_t  aReason) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mOldAccessible(aOldAccessible), mOldStartOffset(aOldStartOffset), mOldEndOffset(aOldEndOffset), mReason(aReason)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccVirtualCursorChangeEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLEVIRTUALCURSORCHANGEEVENT

private:
  ~xpcAccVirtualCursorChangeEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsIDOMNode> mDOMNode;
  bool mIsFromUserInput;
  nsCOMPtr<nsIAccessible> mOldAccessible;
  int32_t mOldStartOffset;
  int32_t mOldEndOffset;
  int16_t mReason;
};

#endif
