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

#ifndef __gen_mozIXMLTerminal_h__
#define __gen_mozIXMLTerminal_h__


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

#ifndef __gen_mozILineTerm_h__
#include "mozILineTerm.h"
#endif

#ifndef __gen_mozIXMLTermShell_h__
#include "mozIXMLTermShell.h"
#endif

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

class nsIDocShell; /* forward declaration */

class nsIPresShell; /* forward declaration */

#define MOZXMLTERMINAL_CLASSNAME  "XMLTerminal Component"
#define MOZXMLTERMINAL_CONTRACTID "@mozilla.org/xmlterm/xmlterminal;1"
#define MOZXMLTERMINAL_CID                       \
{ /* 0eb82b21-43a2-11d3-8e76-006008948af5 */ \
   0x0eb82b21, 0x43a2, 0x11d3,               \
{0x8e, 0x76, 0x00, 0x60, 0x08, 0x94, 0x8a, 0xf5} }

/* starting interface:    mozIXMLTerminal */
#define MOZIXMLTERMINAL_IID_STR "0eb82b20-43a2-11d3-8e76-006008948af5"

#define MOZIXMLTERMINAL_IID \
  {0x0eb82b20, 0x43a2, 0x11d3, \
    { 0x8e, 0x76, 0x00, 0x60, 0x08, 0x94, 0x8a, 0xf5 }}

class NS_NO_VTABLE mozIXMLTerminal : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(MOZIXMLTERMINAL_IID)

  /** Initializes XMLterm in specified web shell
   * @param aDocShell web shell in which to embed XMLterm
   * @param aXMLTermShell scriptable wrapper shell for XMLterm
   * @param URL URL of document to be loaded in the window
   *            (set to null string if document is already loaded in window)
   * @param args argument string to be passed to XMLterm
   *             (at the moment this just contains any initial input data)
   */
  /* void init (in nsIDocShell aDocShell, in mozIXMLTermShell aXMLTermShell, in wstring aURL, in wstring args); */
  NS_IMETHOD Init(nsIDocShell *aDocShell, mozIXMLTermShell *aXMLTermShell, const PRUnichar *aURL, const PRUnichar *args) = 0;

  /** Finalizes (closes) XMLterm
   */
  /* void finalize (); */
  NS_IMETHOD Finalize(void) = 0;

  /** Polls for readable data from XMLterm
   */
  /* void poll (); */
  NS_IMETHOD Poll(void) = 0;

  /** Current entry (command) number
   */
  /* readonly attribute long currentEntryNumber; */
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) = 0;

  /** History buffer count
   */
  /* attribute long history; */
  NS_IMETHOD GetHistory(PRInt32 *aHistory) = 0;
  NS_IMETHOD SetHistory(PRInt32 aHistory) = 0;

  /** Prompt string
   */
  /* attribute wstring prompt; */
  NS_IMETHOD GetPrompt(PRUnichar * *aPrompt) = 0;
  NS_IMETHOD SetPrompt(const PRUnichar * aPrompt) = 0;

  /** Ignore key press flag
   */
  /* attribute boolean keyIgnore; */
  NS_IMETHOD GetKeyIgnore(PRBool *aKeyIgnore) = 0;
  NS_IMETHOD SetKeyIgnore(PRBool aKeyIgnore) = 0;

  /** Writes string to terminal as if the user had typed it (without authenitcation)
   * @param aString string to be transmitted to terminal
   */
  /* void sendTextAux (in wstring aString); */
  NS_IMETHOD SendTextAux(const PRUnichar *aString) = 0;

  /** Writes string to terminal as if the user had typed it (command input)
   * @param aString string to be transmitted to terminal
   * @param aCookie document.cookie string for authentication
   */
  /* void sendText (in wstring aString, in wstring aCookie); */
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie) = 0;

  /** Paste data from clipboard into XMLterm at current input line cursor location
   */
  /* void paste (); */
  NS_IMETHOD Paste(void) = 0;

  /** Document associated with XMLterm
   */
  /* readonly attribute nsIDOMDocument document; */
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) = 0;

  /** Web shell associated with XMLterm
   */
  /* readonly attribute nsIDocShell docShell; */
  NS_IMETHOD GetDocShell(nsIDocShell * *aDocShell) = 0;

  /** Presentation shell associated with XMLterm
   */
  /* readonly attribute nsIPresShell presShell; */
  NS_IMETHOD GetPresShell(nsIPresShell * *aPresShell) = 0;

  /** DOM document associated with XMLterm
   */
  /* readonly attribute nsIDOMDocument DOMDocument; */
  NS_IMETHOD GetDOMDocument(nsIDOMDocument * *aDOMDocument) = 0;

  /** Selection controller associated with XMLterm
   */
  /* readonly attribute nsISelectionController selectionController; */
  NS_IMETHOD GetSelectionController(nsISelectionController * *aSelectionController) = 0;

  /** Flag denoting whether terminal is in full screen mode
   * @param aFlag (output) screen mode flag
   */
  /* readonly attribute boolean screenMode; */
  NS_IMETHOD GetScreenMode(PRBool *aScreenMode) = 0;

  /** Checks if supplied cookie is valid for XMLTerm
   * @param aCookie supplied cookie string
   * @return PR_TRUE if supplied cookie matches XMLTerm cookie
   */
  /* boolean matchesCookie (in wstring aCookie); */
  NS_IMETHOD MatchesCookie(const PRUnichar *aCookie, PRBool *_retval) = 0;

  /** Resizes XMLterm to match a resized window.
   */
  /* void resize (); */
  NS_IMETHOD Resize(void) = 0;

  /** Exports HTML to file, with META REFRESH, if refreshSeconds is non-zero.
   * Nothing is done if display has not changed since last export, unless
   * forceExport is true. Returns true if export actually takes place.
   * If filename is a null string, HTML is written to STDERR.
   */
  /* boolean exportHTML (in wstring aFilename, in long permissions, in wstring style, in unsigned long refreshSeconds, in boolean forceRefresh); */
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, PRBool *_retval) = 0;

  /** Shows the caret and make it editable.
   */
  /* void showCaret (); */
  NS_IMETHOD ShowCaret(void) = 0;

  /** Returns current screen size in rows/cols and in pixels
   * @param (output) rows
   * @param (output) cols
   * @param (output) xPixels
   * @param (output) yPixels
   */
  /* void screenSize (out long rows, out long cols, out long xPixels, out long yPixels); */
  NS_IMETHOD ScreenSize(PRInt32 *rows, PRInt32 *cols, PRInt32 *xPixels, PRInt32 *yPixels) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIXMLTERMINAL \
  NS_IMETHOD Init(nsIDocShell *aDocShell, mozIXMLTermShell *aXMLTermShell, const PRUnichar *aURL, const PRUnichar *args); \
  NS_IMETHOD Finalize(void); \
  NS_IMETHOD Poll(void); \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber); \
  NS_IMETHOD GetHistory(PRInt32 *aHistory); \
  NS_IMETHOD SetHistory(PRInt32 aHistory); \
  NS_IMETHOD GetPrompt(PRUnichar * *aPrompt); \
  NS_IMETHOD SetPrompt(const PRUnichar * aPrompt); \
  NS_IMETHOD GetKeyIgnore(PRBool *aKeyIgnore); \
  NS_IMETHOD SetKeyIgnore(PRBool aKeyIgnore); \
  NS_IMETHOD SendTextAux(const PRUnichar *aString); \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie); \
  NS_IMETHOD Paste(void); \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument); \
  NS_IMETHOD GetDocShell(nsIDocShell * *aDocShell); \
  NS_IMETHOD GetPresShell(nsIPresShell * *aPresShell); \
  NS_IMETHOD GetDOMDocument(nsIDOMDocument * *aDOMDocument); \
  NS_IMETHOD GetSelectionController(nsISelectionController * *aSelectionController); \
  NS_IMETHOD GetScreenMode(PRBool *aScreenMode); \
  NS_IMETHOD MatchesCookie(const PRUnichar *aCookie, PRBool *_retval); \
  NS_IMETHOD Resize(void); \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, PRBool *_retval); \
  NS_IMETHOD ShowCaret(void); \
  NS_IMETHOD ScreenSize(PRInt32 *rows, PRInt32 *cols, PRInt32 *xPixels, PRInt32 *yPixels); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIXMLTERMINAL(_to) \
  NS_IMETHOD Init(nsIDocShell *aDocShell, mozIXMLTermShell *aXMLTermShell, const PRUnichar *aURL, const PRUnichar *args) { return _to Init(aDocShell, aXMLTermShell, aURL, args); } \
  NS_IMETHOD Finalize(void) { return _to Finalize(); } \
  NS_IMETHOD Poll(void) { return _to Poll(); } \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) { return _to GetCurrentEntryNumber(aCurrentEntryNumber); } \
  NS_IMETHOD GetHistory(PRInt32 *aHistory) { return _to GetHistory(aHistory); } \
  NS_IMETHOD SetHistory(PRInt32 aHistory) { return _to SetHistory(aHistory); } \
  NS_IMETHOD GetPrompt(PRUnichar * *aPrompt) { return _to GetPrompt(aPrompt); } \
  NS_IMETHOD SetPrompt(const PRUnichar * aPrompt) { return _to SetPrompt(aPrompt); } \
  NS_IMETHOD GetKeyIgnore(PRBool *aKeyIgnore) { return _to GetKeyIgnore(aKeyIgnore); } \
  NS_IMETHOD SetKeyIgnore(PRBool aKeyIgnore) { return _to SetKeyIgnore(aKeyIgnore); } \
  NS_IMETHOD SendTextAux(const PRUnichar *aString) { return _to SendTextAux(aString); } \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie) { return _to SendText(aString, aCookie); } \
  NS_IMETHOD Paste(void) { return _to Paste(); } \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) { return _to GetDocument(aDocument); } \
  NS_IMETHOD GetDocShell(nsIDocShell * *aDocShell) { return _to GetDocShell(aDocShell); } \
  NS_IMETHOD GetPresShell(nsIPresShell * *aPresShell) { return _to GetPresShell(aPresShell); } \
  NS_IMETHOD GetDOMDocument(nsIDOMDocument * *aDOMDocument) { return _to GetDOMDocument(aDOMDocument); } \
  NS_IMETHOD GetSelectionController(nsISelectionController * *aSelectionController) { return _to GetSelectionController(aSelectionController); } \
  NS_IMETHOD GetScreenMode(PRBool *aScreenMode) { return _to GetScreenMode(aScreenMode); } \
  NS_IMETHOD MatchesCookie(const PRUnichar *aCookie, PRBool *_retval) { return _to MatchesCookie(aCookie, _retval); } \
  NS_IMETHOD Resize(void) { return _to Resize(); } \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, PRBool *_retval) { return _to ExportHTML(aFilename, permissions, style, refreshSeconds, forceRefresh, _retval); } \
  NS_IMETHOD ShowCaret(void) { return _to ShowCaret(); } \
  NS_IMETHOD ScreenSize(PRInt32 *rows, PRInt32 *cols, PRInt32 *xPixels, PRInt32 *yPixels) { return _to ScreenSize(rows, cols, xPixels, yPixels); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIXMLTERMINAL(_to) \
  NS_IMETHOD Init(nsIDocShell *aDocShell, mozIXMLTermShell *aXMLTermShell, const PRUnichar *aURL, const PRUnichar *args) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aDocShell, aXMLTermShell, aURL, args); } \
  NS_IMETHOD Finalize(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Finalize(); } \
  NS_IMETHOD Poll(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Poll(); } \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentEntryNumber(aCurrentEntryNumber); } \
  NS_IMETHOD GetHistory(PRInt32 *aHistory) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHistory(aHistory); } \
  NS_IMETHOD SetHistory(PRInt32 aHistory) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHistory(aHistory); } \
  NS_IMETHOD GetPrompt(PRUnichar * *aPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrompt(aPrompt); } \
  NS_IMETHOD SetPrompt(const PRUnichar * aPrompt) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrompt(aPrompt); } \
  NS_IMETHOD GetKeyIgnore(PRBool *aKeyIgnore) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKeyIgnore(aKeyIgnore); } \
  NS_IMETHOD SetKeyIgnore(PRBool aKeyIgnore) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetKeyIgnore(aKeyIgnore); } \
  NS_IMETHOD SendTextAux(const PRUnichar *aString) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendTextAux(aString); } \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendText(aString, aCookie); } \
  NS_IMETHOD Paste(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Paste(); } \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDocument(aDocument); } \
  NS_IMETHOD GetDocShell(nsIDocShell * *aDocShell) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDocShell(aDocShell); } \
  NS_IMETHOD GetPresShell(nsIPresShell * *aPresShell) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPresShell(aPresShell); } \
  NS_IMETHOD GetDOMDocument(nsIDOMDocument * *aDOMDocument) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDOMDocument(aDOMDocument); } \
  NS_IMETHOD GetSelectionController(nsISelectionController * *aSelectionController) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSelectionController(aSelectionController); } \
  NS_IMETHOD GetScreenMode(PRBool *aScreenMode) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScreenMode(aScreenMode); } \
  NS_IMETHOD MatchesCookie(const PRUnichar *aCookie, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->MatchesCookie(aCookie, _retval); } \
  NS_IMETHOD Resize(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Resize(); } \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExportHTML(aFilename, permissions, style, refreshSeconds, forceRefresh, _retval); } \
  NS_IMETHOD ShowCaret(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ShowCaret(); } \
  NS_IMETHOD ScreenSize(PRInt32 *rows, PRInt32 *cols, PRInt32 *xPixels, PRInt32 *yPixels) { return !_to ? NS_ERROR_NULL_POINTER : _to->ScreenSize(rows, cols, xPixels, yPixels); } 

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

/* Header file */
class _MYCLASS_ : public mozIXMLTerminal
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIXMLTERMINAL

  _MYCLASS_();
  virtual ~_MYCLASS_();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, mozIXMLTerminal)

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

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

/* void init (in nsIDocShell aDocShell, in mozIXMLTermShell aXMLTermShell, in wstring aURL, in wstring args); */
NS_IMETHODIMP _MYCLASS_::Init(nsIDocShell *aDocShell, mozIXMLTermShell *aXMLTermShell, const PRUnichar *aURL, const PRUnichar *args)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void finalize (); */
NS_IMETHODIMP _MYCLASS_::Finalize()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void poll (); */
NS_IMETHODIMP _MYCLASS_::Poll()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long currentEntryNumber; */
NS_IMETHODIMP _MYCLASS_::GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long history; */
NS_IMETHODIMP _MYCLASS_::GetHistory(PRInt32 *aHistory)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetHistory(PRInt32 aHistory)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring prompt; */
NS_IMETHODIMP _MYCLASS_::GetPrompt(PRUnichar * *aPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetPrompt(const PRUnichar * aPrompt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean keyIgnore; */
NS_IMETHODIMP _MYCLASS_::GetKeyIgnore(PRBool *aKeyIgnore)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetKeyIgnore(PRBool aKeyIgnore)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void sendTextAux (in wstring aString); */
NS_IMETHODIMP _MYCLASS_::SendTextAux(const PRUnichar *aString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void sendText (in wstring aString, in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::SendText(const PRUnichar *aString, const PRUnichar *aCookie)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void paste (); */
NS_IMETHODIMP _MYCLASS_::Paste()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMDocument document; */
NS_IMETHODIMP _MYCLASS_::GetDocument(nsIDOMDocument * *aDocument)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDocShell docShell; */
NS_IMETHODIMP _MYCLASS_::GetDocShell(nsIDocShell * *aDocShell)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIPresShell presShell; */
NS_IMETHODIMP _MYCLASS_::GetPresShell(nsIPresShell * *aPresShell)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMDocument DOMDocument; */
NS_IMETHODIMP _MYCLASS_::GetDOMDocument(nsIDOMDocument * *aDOMDocument)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISelectionController selectionController; */
NS_IMETHODIMP _MYCLASS_::GetSelectionController(nsISelectionController * *aSelectionController)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean screenMode; */
NS_IMETHODIMP _MYCLASS_::GetScreenMode(PRBool *aScreenMode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean matchesCookie (in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::MatchesCookie(const PRUnichar *aCookie, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void resize (); */
NS_IMETHODIMP _MYCLASS_::Resize()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean exportHTML (in wstring aFilename, in long permissions, in wstring style, in unsigned long refreshSeconds, in boolean forceRefresh); */
NS_IMETHODIMP _MYCLASS_::ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void showCaret (); */
NS_IMETHODIMP _MYCLASS_::ShowCaret()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void screenSize (out long rows, out long cols, out long xPixels, out long yPixels); */
NS_IMETHODIMP _MYCLASS_::ScreenSize(PRInt32 *rows, PRInt32 *cols, PRInt32 *xPixels, PRInt32 *yPixels)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    mozIXMLTermSuspend */
#define MOZIXMLTERMSUSPEND_IID_STR "0eb82b50-43a2-11d3-8e76-006008948af5"

#define MOZIXMLTERMSUSPEND_IID \
  {0x0eb82b50, 0x43a2, 0x11d3, \
    { 0x8e, 0x76, 0x00, 0x60, 0x08, 0x94, 0x8a, 0xf5 }}

class NS_NO_VTABLE mozIXMLTermSuspend : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(MOZIXMLTERMSUSPEND_IID)

  /* attribute boolean suspend; */
  NS_IMETHOD GetSuspend(PRBool *aSuspend) = 0;
  NS_IMETHOD SetSuspend(PRBool aSuspend) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIXMLTERMSUSPEND \
  NS_IMETHOD GetSuspend(PRBool *aSuspend); \
  NS_IMETHOD SetSuspend(PRBool aSuspend); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIXMLTERMSUSPEND(_to) \
  NS_IMETHOD GetSuspend(PRBool *aSuspend) { return _to GetSuspend(aSuspend); } \
  NS_IMETHOD SetSuspend(PRBool aSuspend) { return _to SetSuspend(aSuspend); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIXMLTERMSUSPEND(_to) \
  NS_IMETHOD GetSuspend(PRBool *aSuspend) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSuspend(aSuspend); } \
  NS_IMETHOD SetSuspend(PRBool aSuspend) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSuspend(aSuspend); } 

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

/* Header file */
class _MYCLASS_ : public mozIXMLTermSuspend
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIXMLTERMSUSPEND

  _MYCLASS_();
  virtual ~_MYCLASS_();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, mozIXMLTermSuspend)

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

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

/* attribute boolean suspend; */
NS_IMETHODIMP _MYCLASS_::GetSuspend(PRBool *aSuspend)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetSuspend(PRBool aSuspend)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_mozIXMLTerminal_h__ */
