/* 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 "nsIAccessibleTextSelectionChangeEvent.h"
#include "nsIAccessibleHideEvent.h"
#include "nsIAccessibleCaretMoveEvent.h"
#include "nsIAccessibleObjectAttributeChangedEvent.h"
#include "nsIAccessibleTableChangeEvent.h"
#include "nsIAccessibleScrollingEvent.h"
#include "nsIAccessibleAnnouncementEvent.h"

class xpcAccEvent final : public nsIAccessibleEvent
{
public:
  xpcAccEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * 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<nsINode> mDOMNode;
  bool mIsFromUserInput;
};


class xpcAccStateChangeEvent final : public nsIAccessibleStateChangeEvent
{
public:
  xpcAccStateChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * 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<nsINode> mDOMNode;
  bool mIsFromUserInput;
  uint32_t mState;
  bool mIsExtraState;
  bool mIsEnabled;
};


class xpcAccTextChangeEvent final : public nsIAccessibleTextChangeEvent
{
public:
  xpcAccTextChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * 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<nsINode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mStart;
  uint32_t mLength;
  bool mIsInserted;
  nsString mModifiedText;
};


class xpcAccTextSelectionChangeEvent final : public nsIAccessibleTextSelectionChangeEvent
{
public:
  xpcAccTextSelectionChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * aDOMNode, bool  aIsFromUserInput, nsIArray * aSelectionRanges) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mSelectionRanges(aSelectionRanges)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccTextSelectionChangeEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLETEXTSELECTIONCHANGEEVENT

private:
  ~xpcAccTextSelectionChangeEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsINode> mDOMNode;
  bool mIsFromUserInput;
  nsCOMPtr<nsIArray> mSelectionRanges;
};


class xpcAccHideEvent final : public nsIAccessibleHideEvent
{
public:
  xpcAccHideEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * 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<nsINode> 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, nsINode * aDOMNode, bool  aIsFromUserInput, int32_t  aCaretOffset, bool  aIsSelectionCollapsed, bool  aIsAtEndOfLine, int32_t  aGranularity) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mCaretOffset(aCaretOffset), mIsSelectionCollapsed(aIsSelectionCollapsed), mIsAtEndOfLine(aIsAtEndOfLine), mGranularity(aGranularity)
  {}

  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<nsINode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mCaretOffset;
  bool mIsSelectionCollapsed;
  bool mIsAtEndOfLine;
  int32_t mGranularity;
};


class xpcAccObjectAttributeChangedEvent final : public nsIAccessibleObjectAttributeChangedEvent
{
public:
  xpcAccObjectAttributeChangedEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * aDOMNode, bool  aIsFromUserInput, const nsAString&  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<nsINode> mDOMNode;
  bool mIsFromUserInput;
  nsString mChangedAttribute;
};


class xpcAccTableChangeEvent final : public nsIAccessibleTableChangeEvent
{
public:
  xpcAccTableChangeEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * 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<nsINode> mDOMNode;
  bool mIsFromUserInput;
  int32_t mRowOrColIndex;
  int32_t mRowsOrColsCount;
};


class xpcAccScrollingEvent final : public nsIAccessibleScrollingEvent
{
public:
  xpcAccScrollingEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * aDOMNode, bool  aIsFromUserInput, uint32_t  aScrollX, uint32_t  aScrollY, uint32_t  aMaxScrollX, uint32_t  aMaxScrollY) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mScrollX(aScrollX), mScrollY(aScrollY), mMaxScrollX(aMaxScrollX), mMaxScrollY(aMaxScrollY)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccScrollingEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLESCROLLINGEVENT

private:
  ~xpcAccScrollingEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsINode> mDOMNode;
  bool mIsFromUserInput;
  uint32_t mScrollX;
  uint32_t mScrollY;
  uint32_t mMaxScrollX;
  uint32_t mMaxScrollY;
};


class xpcAccAnnouncementEvent final : public nsIAccessibleAnnouncementEvent
{
public:
  xpcAccAnnouncementEvent(uint32_t  aEventType, nsIAccessible * aAccessible, nsIAccessibleDocument * aAccessibleDocument, nsINode * aDOMNode, bool  aIsFromUserInput, const nsAString&  aAnnouncement, uint16_t  aPriority) :
  mEventType(aEventType), mAccessible(aAccessible), mAccessibleDocument(aAccessibleDocument), mDOMNode(aDOMNode), mIsFromUserInput(aIsFromUserInput), mAnnouncement(aAnnouncement), mPriority(aPriority)
  {}

  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_CLASS(xpcAccAnnouncementEvent)
  NS_DECL_NSIACCESSIBLEEVENT
  NS_DECL_NSIACCESSIBLEANNOUNCEMENTEVENT

private:
  ~xpcAccAnnouncementEvent() {}

  uint32_t mEventType;
  nsCOMPtr<nsIAccessible> mAccessible;
  nsCOMPtr<nsIAccessibleDocument> mAccessibleDocument;
  nsCOMPtr<nsINode> mDOMNode;
  bool mIsFromUserInput;
  nsString mAnnouncement;
  uint16_t mPriority;
};

#endif
