/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /builds/slave/mozilla-central-linux64-xulrunner/build/dom/indexedDB/nsIIDBTransactionRequest.idl
 */

#ifndef __gen_nsIIDBTransactionRequest_h__
#define __gen_nsIIDBTransactionRequest_h__


#ifndef __gen_nsIIDBTransaction_h__
#include "nsIIDBTransaction.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIDOMEventListener; /* forward declaration */

class nsIIDBObjectStoreRequest; /* forward declaration */

class nsIIDBRequest; /* forward declaration */


/* starting interface:    nsIIDBTransactionRequest */
#define NS_IIDBTRANSACTIONREQUEST_IID_STR "073f5f2e-fecc-4f96-bba2-d8a90532c926"

#define NS_IIDBTRANSACTIONREQUEST_IID \
  {0x073f5f2e, 0xfecc, 0x4f96, \
    { 0xbb, 0xa2, 0xd8, 0xa9, 0x05, 0x32, 0xc9, 0x26 }}

/**
 * IDBDTransactionRequest interface.  See
 * http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDTransactionRequest for
 * more information.
 */
class NS_NO_VTABLE NS_SCRIPTABLE nsIIDBTransactionRequest : public nsIIDBTransaction {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IIDBTRANSACTIONREQUEST_IID)

  /* nsIIDBObjectStoreRequest objectStore (in AString name); */
  NS_SCRIPTABLE NS_IMETHOD ObjectStore(const nsAString & name, nsIIDBObjectStoreRequest **_retval NS_OUTPARAM) = 0;

  /* void abort (); */
  NS_SCRIPTABLE NS_IMETHOD Abort(void) = 0;

  /* attribute nsIDOMEventListener oncomplete; */
  NS_SCRIPTABLE NS_IMETHOD GetOncomplete(nsIDOMEventListener * *aOncomplete) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOncomplete(nsIDOMEventListener * aOncomplete) = 0;

  /* attribute nsIDOMEventListener onabort; */
  NS_SCRIPTABLE NS_IMETHOD GetOnabort(nsIDOMEventListener * *aOnabort) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOnabort(nsIDOMEventListener * aOnabort) = 0;

  /* attribute nsIDOMEventListener ontimeout; */
  NS_SCRIPTABLE NS_IMETHOD GetOntimeout(nsIDOMEventListener * *aOntimeout) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOntimeout(nsIDOMEventListener * aOntimeout) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIIDBTransactionRequest, NS_IIDBTRANSACTIONREQUEST_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIIDBTRANSACTIONREQUEST \
  NS_SCRIPTABLE NS_IMETHOD ObjectStore(const nsAString & name, nsIIDBObjectStoreRequest **_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD Abort(void); \
  NS_SCRIPTABLE NS_IMETHOD GetOncomplete(nsIDOMEventListener * *aOncomplete); \
  NS_SCRIPTABLE NS_IMETHOD SetOncomplete(nsIDOMEventListener * aOncomplete); \
  NS_SCRIPTABLE NS_IMETHOD GetOnabort(nsIDOMEventListener * *aOnabort); \
  NS_SCRIPTABLE NS_IMETHOD SetOnabort(nsIDOMEventListener * aOnabort); \
  NS_SCRIPTABLE NS_IMETHOD GetOntimeout(nsIDOMEventListener * *aOntimeout); \
  NS_SCRIPTABLE NS_IMETHOD SetOntimeout(nsIDOMEventListener * aOntimeout); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIIDBTRANSACTIONREQUEST(_to) \
  NS_SCRIPTABLE NS_IMETHOD ObjectStore(const nsAString & name, nsIIDBObjectStoreRequest **_retval NS_OUTPARAM) { return _to ObjectStore(name, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD Abort(void) { return _to Abort(); } \
  NS_SCRIPTABLE NS_IMETHOD GetOncomplete(nsIDOMEventListener * *aOncomplete) { return _to GetOncomplete(aOncomplete); } \
  NS_SCRIPTABLE NS_IMETHOD SetOncomplete(nsIDOMEventListener * aOncomplete) { return _to SetOncomplete(aOncomplete); } \
  NS_SCRIPTABLE NS_IMETHOD GetOnabort(nsIDOMEventListener * *aOnabort) { return _to GetOnabort(aOnabort); } \
  NS_SCRIPTABLE NS_IMETHOD SetOnabort(nsIDOMEventListener * aOnabort) { return _to SetOnabort(aOnabort); } \
  NS_SCRIPTABLE NS_IMETHOD GetOntimeout(nsIDOMEventListener * *aOntimeout) { return _to GetOntimeout(aOntimeout); } \
  NS_SCRIPTABLE NS_IMETHOD SetOntimeout(nsIDOMEventListener * aOntimeout) { return _to SetOntimeout(aOntimeout); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIIDBTRANSACTIONREQUEST(_to) \
  NS_SCRIPTABLE NS_IMETHOD ObjectStore(const nsAString & name, nsIIDBObjectStoreRequest **_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->ObjectStore(name, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD Abort(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Abort(); } \
  NS_SCRIPTABLE NS_IMETHOD GetOncomplete(nsIDOMEventListener * *aOncomplete) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOncomplete(aOncomplete); } \
  NS_SCRIPTABLE NS_IMETHOD SetOncomplete(nsIDOMEventListener * aOncomplete) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOncomplete(aOncomplete); } \
  NS_SCRIPTABLE NS_IMETHOD GetOnabort(nsIDOMEventListener * *aOnabort) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnabort(aOnabort); } \
  NS_SCRIPTABLE NS_IMETHOD SetOnabort(nsIDOMEventListener * aOnabort) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnabort(aOnabort); } \
  NS_SCRIPTABLE NS_IMETHOD GetOntimeout(nsIDOMEventListener * *aOntimeout) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOntimeout(aOntimeout); } \
  NS_SCRIPTABLE NS_IMETHOD SetOntimeout(nsIDOMEventListener * aOntimeout) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOntimeout(aOntimeout); } 

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

/* Header file */
class nsIDBTransactionRequest : public nsIIDBTransactionRequest
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIIDBTRANSACTIONREQUEST

  nsIDBTransactionRequest();

private:
  ~nsIDBTransactionRequest();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsIDBTransactionRequest, nsIIDBTransactionRequest)

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

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

/* nsIIDBObjectStoreRequest objectStore (in AString name); */
NS_IMETHODIMP nsIDBTransactionRequest::ObjectStore(const nsAString & name, nsIIDBObjectStoreRequest **_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void abort (); */
NS_IMETHODIMP nsIDBTransactionRequest::Abort()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener oncomplete; */
NS_IMETHODIMP nsIDBTransactionRequest::GetOncomplete(nsIDOMEventListener * *aOncomplete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsIDBTransactionRequest::SetOncomplete(nsIDOMEventListener * aOncomplete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener onabort; */
NS_IMETHODIMP nsIDBTransactionRequest::GetOnabort(nsIDOMEventListener * *aOnabort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsIDBTransactionRequest::SetOnabort(nsIDOMEventListener * aOnabort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener ontimeout; */
NS_IMETHODIMP nsIDBTransactionRequest::GetOntimeout(nsIDOMEventListener * *aOntimeout)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsIDBTransactionRequest::SetOntimeout(nsIDOMEventListener * aOntimeout)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIIDBTransactionRequest_h__ */
