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

#ifndef __gen_nsIAccessibleAction_h__
#define __gen_nsIAccessibleAction_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

/* starting interface:    nsIAccessibleAction */
#define NS_IACCESSIBLEACTION_IID_STR "829b36d4-125a-4279-abc4-87d834664f82"

#define NS_IACCESSIBLEACTION_IID \
  {0x829b36d4, 0x125a, 0x4279, \
    { 0xab, 0xc4, 0x87, 0xd8, 0x34, 0x66, 0x4f, 0x82 }}

class NS_NO_VTABLE nsIAccessibleAction : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IACCESSIBLEACTION_IID)

  /* readonly attribute long actions; */
  NS_IMETHOD GetActions(PRInt32 *aActions) = 0;

  /* boolean doAction (in long index); */
  NS_IMETHOD DoAction(PRInt32 index, PRBool *_retval) = 0;

  /* AString getDescription (in long index); */
  NS_IMETHOD GetDescription(PRInt32 index, nsAString & _retval) = 0;

  /* void getDescriptionConst (in long index, [shared, retval] out string description); */
  NS_IMETHOD GetDescriptionConst(PRInt32 index, const char **description) = 0;

  /* AString getKeyBinding (in long index); */
  NS_IMETHOD GetKeyBinding(PRInt32 index, nsAString & _retval) = 0;

  /* void getKeyBindingConst (in long index, [shared, retval] out string keyBinding); */
  NS_IMETHOD GetKeyBindingConst(PRInt32 index, const char **keyBinding) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACCESSIBLEACTION \
  NS_IMETHOD GetActions(PRInt32 *aActions); \
  NS_IMETHOD DoAction(PRInt32 index, PRBool *_retval); \
  NS_IMETHOD GetDescription(PRInt32 index, nsAString & _retval); \
  NS_IMETHOD GetDescriptionConst(PRInt32 index, const char **description); \
  NS_IMETHOD GetKeyBinding(PRInt32 index, nsAString & _retval); \
  NS_IMETHOD GetKeyBindingConst(PRInt32 index, const char **keyBinding); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACCESSIBLEACTION(_to) \
  NS_IMETHOD GetActions(PRInt32 *aActions) { return _to GetActions(aActions); } \
  NS_IMETHOD DoAction(PRInt32 index, PRBool *_retval) { return _to DoAction(index, _retval); } \
  NS_IMETHOD GetDescription(PRInt32 index, nsAString & _retval) { return _to GetDescription(index, _retval); } \
  NS_IMETHOD GetDescriptionConst(PRInt32 index, const char **description) { return _to GetDescriptionConst(index, description); } \
  NS_IMETHOD GetKeyBinding(PRInt32 index, nsAString & _retval) { return _to GetKeyBinding(index, _retval); } \
  NS_IMETHOD GetKeyBindingConst(PRInt32 index, const char **keyBinding) { return _to GetKeyBindingConst(index, keyBinding); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIACCESSIBLEACTION(_to) \
  NS_IMETHOD GetActions(PRInt32 *aActions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActions(aActions); } \
  NS_IMETHOD DoAction(PRInt32 index, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->DoAction(index, _retval); } \
  NS_IMETHOD GetDescription(PRInt32 index, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDescription(index, _retval); } \
  NS_IMETHOD GetDescriptionConst(PRInt32 index, const char **description) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDescriptionConst(index, description); } \
  NS_IMETHOD GetKeyBinding(PRInt32 index, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKeyBinding(index, _retval); } \
  NS_IMETHOD GetKeyBindingConst(PRInt32 index, const char **keyBinding) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKeyBindingConst(index, keyBinding); } 

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

/* Header file */
class nsAccessibleAction : public nsIAccessibleAction
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIACCESSIBLEACTION

  nsAccessibleAction();

private:
  ~nsAccessibleAction();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsAccessibleAction, nsIAccessibleAction)

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

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

/* readonly attribute long actions; */
NS_IMETHODIMP nsAccessibleAction::GetActions(PRInt32 *aActions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean doAction (in long index); */
NS_IMETHODIMP nsAccessibleAction::DoAction(PRInt32 index, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getDescription (in long index); */
NS_IMETHODIMP nsAccessibleAction::GetDescription(PRInt32 index, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getDescriptionConst (in long index, [shared, retval] out string description); */
NS_IMETHODIMP nsAccessibleAction::GetDescriptionConst(PRInt32 index, const char **description)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getKeyBinding (in long index); */
NS_IMETHODIMP nsAccessibleAction::GetKeyBinding(PRInt32 index, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getKeyBindingConst (in long index, [shared, retval] out string keyBinding); */
NS_IMETHODIMP nsAccessibleAction::GetKeyBindingConst(PRInt32 index, const char **keyBinding)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIAccessibleAction_h__ */
