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

#ifndef __gen_mozIXMLTermShell_h__
#define __gen_mozIXMLTermShell_h__


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

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

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

#define MOZXMLTERMSHELL_CLASSNAME  "XMLTerm Shell Component"
#define MOZXMLTERMSHELL_CONTRACTID "@mozilla.org/xmlterm/xmltermshell;1"
#define MOZXMLTERMSHELL_CID                  \
{ /* 0eb82b31-43a2-11d3-8e76-006008948af5 */ \
   0x0eb82b31, 0x43a2, 0x11d3,               \
{0x8e, 0x76, 0x00, 0x60, 0x08, 0x94, 0x8a, 0xf5} }

/* starting interface:    mozIXMLTermShell */
#define MOZIXMLTERMSHELL_IID_STR "0eb82b30-43a2-11d3-8e76-006008948af5"

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

class NS_NO_VTABLE mozIXMLTermShell : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(MOZIXMLTERMSHELL_IID)

  /* readonly attribute long currentEntryNumber; */
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) = 0;

  /** Initializes XMLterm in specified window
   * @param contentWin content window object
   * @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 nsIDOMWindowInternal aContentWin, in wstring URL, in wstring args); */
  NS_IMETHOD Init(nsIDOMWindowInternal *aContentWin, const PRUnichar *URL, const PRUnichar *args) = 0;

  /** Closes XMLterm, freeing resources
   * @param aCookie document.cookie string for authentication
   */
  /* void close (in wstring aCookie); */
  NS_IMETHOD Close(const PRUnichar *aCookie) = 0;

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

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

  /** Writes string to terminal as if the user had typed it (command input)
   * @param buf 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;

  /** Sets command history buffer count
   * @param aHistory history buffer count
   * @param aCookie document.cookie string for authentication
   */
  /* void setHistory (in long aHistory, in wstring aCookie); */
  NS_IMETHOD SetHistory(PRInt32 aHistory, const PRUnichar *aCookie) = 0;

  /** Sets command prompt
   * @param aPrompt command prompt string (HTML)
   * @param aCookie document.cookie string for authentication
   */
  /* void setPrompt (in wstring aPrompt, in wstring aCookie); */
  NS_IMETHOD SetPrompt(const PRUnichar *aPrompt, const PRUnichar *aCookie) = 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, in wstring aCookie); */
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, const PRUnichar *aCookie, PRBool *_retval) = 0;

  /** Ignore key press events
   * (workaround for form input being transmitted to xmlterm)
   * @param aIgnore ignore flag (true/false)
   * @param aCookie document.cookie string for authentication
   */
  /* void ignoreKeyPress (in boolean aIgnore, in wstring aCookie); */
  NS_IMETHOD IgnoreKeyPress(PRBool aIgnore, const PRUnichar *aCookie) = 0;

  /** Exit browser, closing all windows (not yet implemented)
   */
  /* void exit (); */
  NS_IMETHOD Exit(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIXMLTERMSHELL \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber); \
  NS_IMETHOD Init(nsIDOMWindowInternal *aContentWin, const PRUnichar *URL, const PRUnichar *args); \
  NS_IMETHOD Close(const PRUnichar *aCookie); \
  NS_IMETHOD Poll(void); \
  NS_IMETHOD Resize(void); \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie); \
  NS_IMETHOD SetHistory(PRInt32 aHistory, const PRUnichar *aCookie); \
  NS_IMETHOD SetPrompt(const PRUnichar *aPrompt, const PRUnichar *aCookie); \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, const PRUnichar *aCookie, PRBool *_retval); \
  NS_IMETHOD IgnoreKeyPress(PRBool aIgnore, const PRUnichar *aCookie); \
  NS_IMETHOD Exit(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIXMLTERMSHELL(_to) \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) { return _to GetCurrentEntryNumber(aCurrentEntryNumber); } \
  NS_IMETHOD Init(nsIDOMWindowInternal *aContentWin, const PRUnichar *URL, const PRUnichar *args) { return _to Init(aContentWin, URL, args); } \
  NS_IMETHOD Close(const PRUnichar *aCookie) { return _to Close(aCookie); } \
  NS_IMETHOD Poll(void) { return _to Poll(); } \
  NS_IMETHOD Resize(void) { return _to Resize(); } \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie) { return _to SendText(aString, aCookie); } \
  NS_IMETHOD SetHistory(PRInt32 aHistory, const PRUnichar *aCookie) { return _to SetHistory(aHistory, aCookie); } \
  NS_IMETHOD SetPrompt(const PRUnichar *aPrompt, const PRUnichar *aCookie) { return _to SetPrompt(aPrompt, aCookie); } \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, const PRUnichar *aCookie, PRBool *_retval) { return _to ExportHTML(aFilename, permissions, style, refreshSeconds, forceRefresh, aCookie, _retval); } \
  NS_IMETHOD IgnoreKeyPress(PRBool aIgnore, const PRUnichar *aCookie) { return _to IgnoreKeyPress(aIgnore, aCookie); } \
  NS_IMETHOD Exit(void) { return _to Exit(); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIXMLTERMSHELL(_to) \
  NS_IMETHOD GetCurrentEntryNumber(PRInt32 *aCurrentEntryNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentEntryNumber(aCurrentEntryNumber); } \
  NS_IMETHOD Init(nsIDOMWindowInternal *aContentWin, const PRUnichar *URL, const PRUnichar *args) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aContentWin, URL, args); } \
  NS_IMETHOD Close(const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->Close(aCookie); } \
  NS_IMETHOD Poll(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Poll(); } \
  NS_IMETHOD Resize(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Resize(); } \
  NS_IMETHOD SendText(const PRUnichar *aString, const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendText(aString, aCookie); } \
  NS_IMETHOD SetHistory(PRInt32 aHistory, const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHistory(aHistory, aCookie); } \
  NS_IMETHOD SetPrompt(const PRUnichar *aPrompt, const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrompt(aPrompt, aCookie); } \
  NS_IMETHOD ExportHTML(const PRUnichar *aFilename, PRInt32 permissions, const PRUnichar *style, PRUint32 refreshSeconds, PRBool forceRefresh, const PRUnichar *aCookie, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExportHTML(aFilename, permissions, style, refreshSeconds, forceRefresh, aCookie, _retval); } \
  NS_IMETHOD IgnoreKeyPress(PRBool aIgnore, const PRUnichar *aCookie) { return !_to ? NS_ERROR_NULL_POINTER : _to->IgnoreKeyPress(aIgnore, aCookie); } \
  NS_IMETHOD Exit(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Exit(); } 

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

/* Header file */
class _MYCLASS_ : public mozIXMLTermShell
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIXMLTERMSHELL

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

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

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

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

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

/* void init (in nsIDOMWindowInternal aContentWin, in wstring URL, in wstring args); */
NS_IMETHODIMP _MYCLASS_::Init(nsIDOMWindowInternal *aContentWin, const PRUnichar *URL, const PRUnichar *args)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void close (in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::Close(const PRUnichar *aCookie)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* void resize (); */
NS_IMETHODIMP _MYCLASS_::Resize()
{
    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 setHistory (in long aHistory, in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::SetHistory(PRInt32 aHistory, const PRUnichar *aCookie)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setPrompt (in wstring aPrompt, in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::SetPrompt(const PRUnichar *aPrompt, const PRUnichar *aCookie)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* void ignoreKeyPress (in boolean aIgnore, in wstring aCookie); */
NS_IMETHODIMP _MYCLASS_::IgnoreKeyPress(PRBool aIgnore, const PRUnichar *aCookie)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void exit (); */
NS_IMETHODIMP _MYCLASS_::Exit()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_mozIXMLTermShell_h__ */
