/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIAccessibleTable.idl
 */

#ifndef __gen_nsIAccessibleTable_h__
#define __gen_nsIAccessibleTable_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* 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:    nsIAccessibleTable */
#define NS_IACCESSIBLETABLE_IID_STR "0a7e98a9-ca7d-42f0-bfe1-2cfc35256038"

#define NS_IACCESSIBLETABLE_IID \
  {0x0a7e98a9, 0xca7d, 0x42f0, \
    { 0xbf, 0xe1, 0x2c, 0xfc, 0x35, 0x25, 0x60, 0x38 }}

class NS_NO_VTABLE nsIAccessibleTable : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IACCESSIBLETABLE_IID)

  /* attribute nsIAccessible caption; */
  NS_IMETHOD GetCaption(nsIAccessible * *aCaption) = 0;
  NS_IMETHOD SetCaption(nsIAccessible * aCaption) = 0;

  /* attribute AString summary; */
  NS_IMETHOD GetSummary(nsAString & aSummary) = 0;
  NS_IMETHOD SetSummary(const nsAString & aSummary) = 0;

  /* readonly attribute long columns; */
  NS_IMETHOD GetColumns(PRInt32 *aColumns) = 0;

  /* readonly attribute nsIAccessibleTable columnHeader; */
  NS_IMETHOD GetColumnHeader(nsIAccessibleTable * *aColumnHeader) = 0;

  /* readonly attribute long rows; */
  NS_IMETHOD GetRows(PRInt32 *aRows) = 0;

  /* readonly attribute nsIAccessibleTable rowHeader; */
  NS_IMETHOD GetRowHeader(nsIAccessibleTable * *aRowHeader) = 0;

  /* void getSelectedColumns (out unsigned long columnsSize, [array, size_is (columnsSize), retval] out long columns); */
  NS_IMETHOD GetSelectedColumns(PRUint32 *columnsSize, PRInt32 **columns) = 0;

  /* void getSelectedRows (out unsigned long rowsSize, [array, size_is (rowsSize), retval] out long rows); */
  NS_IMETHOD GetSelectedRows(PRUint32 *rowsSize, PRInt32 **rows) = 0;

  /**
      * gets a cell
      */
  /* nsIAccessible cellRefAt (in long row, in long column); */
  NS_IMETHOD CellRefAt(PRInt32 row, PRInt32 column, nsIAccessible **_retval) = 0;

  /**
      * get an index
      */
  /* long getIndexAt (in long row, in long column); */
  NS_IMETHOD GetIndexAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) = 0;

  /* long getColumnAtIndex (in long index); */
  NS_IMETHOD GetColumnAtIndex(PRInt32 index, PRInt32 *_retval) = 0;

  /* long getRowAtIndex (in long index); */
  NS_IMETHOD GetRowAtIndex(PRInt32 index, PRInt32 *_retval) = 0;

  /* long getColumnExtentAt (in long row, in long column); */
  NS_IMETHOD GetColumnExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) = 0;

  /* long getRowExtentAt (in long row, in long column); */
  NS_IMETHOD GetRowExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) = 0;

  /* AString getColumnDescription (in long column); */
  NS_IMETHOD GetColumnDescription(PRInt32 column, nsAString & _retval) = 0;

  /* AString getRowDescription (in long row); */
  NS_IMETHOD GetRowDescription(PRInt32 row, nsAString & _retval) = 0;

  /* boolean isColumnSelected (in long column); */
  NS_IMETHOD IsColumnSelected(PRInt32 column, PRBool *_retval) = 0;

  /* boolean isRowSelected (in long row); */
  NS_IMETHOD IsRowSelected(PRInt32 row, PRBool *_retval) = 0;

  /* boolean isCellSelected (in long row, in long column); */
  NS_IMETHOD IsCellSelected(PRInt32 row, PRInt32 column, PRBool *_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACCESSIBLETABLE \
  NS_IMETHOD GetCaption(nsIAccessible * *aCaption); \
  NS_IMETHOD SetCaption(nsIAccessible * aCaption); \
  NS_IMETHOD GetSummary(nsAString & aSummary); \
  NS_IMETHOD SetSummary(const nsAString & aSummary); \
  NS_IMETHOD GetColumns(PRInt32 *aColumns); \
  NS_IMETHOD GetColumnHeader(nsIAccessibleTable * *aColumnHeader); \
  NS_IMETHOD GetRows(PRInt32 *aRows); \
  NS_IMETHOD GetRowHeader(nsIAccessibleTable * *aRowHeader); \
  NS_IMETHOD GetSelectedColumns(PRUint32 *columnsSize, PRInt32 **columns); \
  NS_IMETHOD GetSelectedRows(PRUint32 *rowsSize, PRInt32 **rows); \
  NS_IMETHOD CellRefAt(PRInt32 row, PRInt32 column, nsIAccessible **_retval); \
  NS_IMETHOD GetIndexAt(PRInt32 row, PRInt32 column, PRInt32 *_retval); \
  NS_IMETHOD GetColumnAtIndex(PRInt32 index, PRInt32 *_retval); \
  NS_IMETHOD GetRowAtIndex(PRInt32 index, PRInt32 *_retval); \
  NS_IMETHOD GetColumnExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval); \
  NS_IMETHOD GetRowExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval); \
  NS_IMETHOD GetColumnDescription(PRInt32 column, nsAString & _retval); \
  NS_IMETHOD GetRowDescription(PRInt32 row, nsAString & _retval); \
  NS_IMETHOD IsColumnSelected(PRInt32 column, PRBool *_retval); \
  NS_IMETHOD IsRowSelected(PRInt32 row, PRBool *_retval); \
  NS_IMETHOD IsCellSelected(PRInt32 row, PRInt32 column, PRBool *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACCESSIBLETABLE(_to) \
  NS_IMETHOD GetCaption(nsIAccessible * *aCaption) { return _to GetCaption(aCaption); } \
  NS_IMETHOD SetCaption(nsIAccessible * aCaption) { return _to SetCaption(aCaption); } \
  NS_IMETHOD GetSummary(nsAString & aSummary) { return _to GetSummary(aSummary); } \
  NS_IMETHOD SetSummary(const nsAString & aSummary) { return _to SetSummary(aSummary); } \
  NS_IMETHOD GetColumns(PRInt32 *aColumns) { return _to GetColumns(aColumns); } \
  NS_IMETHOD GetColumnHeader(nsIAccessibleTable * *aColumnHeader) { return _to GetColumnHeader(aColumnHeader); } \
  NS_IMETHOD GetRows(PRInt32 *aRows) { return _to GetRows(aRows); } \
  NS_IMETHOD GetRowHeader(nsIAccessibleTable * *aRowHeader) { return _to GetRowHeader(aRowHeader); } \
  NS_IMETHOD GetSelectedColumns(PRUint32 *columnsSize, PRInt32 **columns) { return _to GetSelectedColumns(columnsSize, columns); } \
  NS_IMETHOD GetSelectedRows(PRUint32 *rowsSize, PRInt32 **rows) { return _to GetSelectedRows(rowsSize, rows); } \
  NS_IMETHOD CellRefAt(PRInt32 row, PRInt32 column, nsIAccessible **_retval) { return _to CellRefAt(row, column, _retval); } \
  NS_IMETHOD GetIndexAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return _to GetIndexAt(row, column, _retval); } \
  NS_IMETHOD GetColumnAtIndex(PRInt32 index, PRInt32 *_retval) { return _to GetColumnAtIndex(index, _retval); } \
  NS_IMETHOD GetRowAtIndex(PRInt32 index, PRInt32 *_retval) { return _to GetRowAtIndex(index, _retval); } \
  NS_IMETHOD GetColumnExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return _to GetColumnExtentAt(row, column, _retval); } \
  NS_IMETHOD GetRowExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return _to GetRowExtentAt(row, column, _retval); } \
  NS_IMETHOD GetColumnDescription(PRInt32 column, nsAString & _retval) { return _to GetColumnDescription(column, _retval); } \
  NS_IMETHOD GetRowDescription(PRInt32 row, nsAString & _retval) { return _to GetRowDescription(row, _retval); } \
  NS_IMETHOD IsColumnSelected(PRInt32 column, PRBool *_retval) { return _to IsColumnSelected(column, _retval); } \
  NS_IMETHOD IsRowSelected(PRInt32 row, PRBool *_retval) { return _to IsRowSelected(row, _retval); } \
  NS_IMETHOD IsCellSelected(PRInt32 row, PRInt32 column, PRBool *_retval) { return _to IsCellSelected(row, column, _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_NSIACCESSIBLETABLE(_to) \
  NS_IMETHOD GetCaption(nsIAccessible * *aCaption) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCaption(aCaption); } \
  NS_IMETHOD SetCaption(nsIAccessible * aCaption) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCaption(aCaption); } \
  NS_IMETHOD GetSummary(nsAString & aSummary) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSummary(aSummary); } \
  NS_IMETHOD SetSummary(const nsAString & aSummary) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSummary(aSummary); } \
  NS_IMETHOD GetColumns(PRInt32 *aColumns) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColumns(aColumns); } \
  NS_IMETHOD GetColumnHeader(nsIAccessibleTable * *aColumnHeader) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColumnHeader(aColumnHeader); } \
  NS_IMETHOD GetRows(PRInt32 *aRows) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRows(aRows); } \
  NS_IMETHOD GetRowHeader(nsIAccessibleTable * *aRowHeader) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRowHeader(aRowHeader); } \
  NS_IMETHOD GetSelectedColumns(PRUint32 *columnsSize, PRInt32 **columns) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSelectedColumns(columnsSize, columns); } \
  NS_IMETHOD GetSelectedRows(PRUint32 *rowsSize, PRInt32 **rows) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSelectedRows(rowsSize, rows); } \
  NS_IMETHOD CellRefAt(PRInt32 row, PRInt32 column, nsIAccessible **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CellRefAt(row, column, _retval); } \
  NS_IMETHOD GetIndexAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIndexAt(row, column, _retval); } \
  NS_IMETHOD GetColumnAtIndex(PRInt32 index, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColumnAtIndex(index, _retval); } \
  NS_IMETHOD GetRowAtIndex(PRInt32 index, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRowAtIndex(index, _retval); } \
  NS_IMETHOD GetColumnExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColumnExtentAt(row, column, _retval); } \
  NS_IMETHOD GetRowExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRowExtentAt(row, column, _retval); } \
  NS_IMETHOD GetColumnDescription(PRInt32 column, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColumnDescription(column, _retval); } \
  NS_IMETHOD GetRowDescription(PRInt32 row, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRowDescription(row, _retval); } \
  NS_IMETHOD IsColumnSelected(PRInt32 column, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsColumnSelected(column, _retval); } \
  NS_IMETHOD IsRowSelected(PRInt32 row, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsRowSelected(row, _retval); } \
  NS_IMETHOD IsCellSelected(PRInt32 row, PRInt32 column, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsCellSelected(row, column, _retval); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsAccessibleTable : public nsIAccessibleTable
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIACCESSIBLETABLE

  nsAccessibleTable();

private:
  ~nsAccessibleTable();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsAccessibleTable, nsIAccessibleTable)

nsAccessibleTable::nsAccessibleTable()
{
  /* member initializers and constructor code */
}

nsAccessibleTable::~nsAccessibleTable()
{
  /* destructor code */
}

/* attribute nsIAccessible caption; */
NS_IMETHODIMP nsAccessibleTable::GetCaption(nsIAccessible * *aCaption)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessibleTable::SetCaption(nsIAccessible * aCaption)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString summary; */
NS_IMETHODIMP nsAccessibleTable::GetSummary(nsAString & aSummary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessibleTable::SetSummary(const nsAString & aSummary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long columns; */
NS_IMETHODIMP nsAccessibleTable::GetColumns(PRInt32 *aColumns)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessibleTable columnHeader; */
NS_IMETHODIMP nsAccessibleTable::GetColumnHeader(nsIAccessibleTable * *aColumnHeader)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long rows; */
NS_IMETHODIMP nsAccessibleTable::GetRows(PRInt32 *aRows)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessibleTable rowHeader; */
NS_IMETHODIMP nsAccessibleTable::GetRowHeader(nsIAccessibleTable * *aRowHeader)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getSelectedColumns (out unsigned long columnsSize, [array, size_is (columnsSize), retval] out long columns); */
NS_IMETHODIMP nsAccessibleTable::GetSelectedColumns(PRUint32 *columnsSize, PRInt32 **columns)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getSelectedRows (out unsigned long rowsSize, [array, size_is (rowsSize), retval] out long rows); */
NS_IMETHODIMP nsAccessibleTable::GetSelectedRows(PRUint32 *rowsSize, PRInt32 **rows)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIAccessible cellRefAt (in long row, in long column); */
NS_IMETHODIMP nsAccessibleTable::CellRefAt(PRInt32 row, PRInt32 column, nsIAccessible **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getIndexAt (in long row, in long column); */
NS_IMETHODIMP nsAccessibleTable::GetIndexAt(PRInt32 row, PRInt32 column, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getColumnAtIndex (in long index); */
NS_IMETHODIMP nsAccessibleTable::GetColumnAtIndex(PRInt32 index, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getRowAtIndex (in long index); */
NS_IMETHODIMP nsAccessibleTable::GetRowAtIndex(PRInt32 index, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getColumnExtentAt (in long row, in long column); */
NS_IMETHODIMP nsAccessibleTable::GetColumnExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getRowExtentAt (in long row, in long column); */
NS_IMETHODIMP nsAccessibleTable::GetRowExtentAt(PRInt32 row, PRInt32 column, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getColumnDescription (in long column); */
NS_IMETHODIMP nsAccessibleTable::GetColumnDescription(PRInt32 column, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getRowDescription (in long row); */
NS_IMETHODIMP nsAccessibleTable::GetRowDescription(PRInt32 row, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isColumnSelected (in long column); */
NS_IMETHODIMP nsAccessibleTable::IsColumnSelected(PRInt32 column, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isRowSelected (in long row); */
NS_IMETHODIMP nsAccessibleTable::IsRowSelected(PRInt32 row, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isCellSelected (in long row, in long column); */
NS_IMETHODIMP nsAccessibleTable::IsCellSelected(PRInt32 row, PRInt32 column, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIAccessibleTable_h__ */
