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

#ifndef __gen_nsIDOMWindow_h__
#define __gen_nsIDOMWindow_h__


#ifndef __gen_domstubs_h__
#include "domstubs.h"
#endif

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


/* starting interface:    nsIDOMWindow */
#define NS_IDOMWINDOW_IID_STR "a6cf906b-15b3-11d2-932e-00805f8add32"

#define NS_IDOMWINDOW_IID \
  {0xa6cf906b, 0x15b3, 0x11d2, \
    { 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 }}

class NS_NO_VTABLE nsIDOMWindow : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IDOMWINDOW_IID)

  /* readonly attribute nsIDOMDocument document; */
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) = 0;

  /* readonly attribute nsIDOMWindow parent; */
  NS_IMETHOD GetParent(nsIDOMWindow * *aParent) = 0;

  /* readonly attribute nsIDOMWindow top; */
  NS_IMETHOD GetTop(nsIDOMWindow * *aTop) = 0;

  /* readonly attribute nsIDOMBarProp scrollbars; */
  NS_IMETHOD GetScrollbars(nsIDOMBarProp * *aScrollbars) = 0;

  /* [noscript] readonly attribute nsIDOMWindowCollection frames; */
  NS_IMETHOD GetFrames(nsIDOMWindowCollection * *aFrames) = 0;

  /* attribute DOMString name; */
  NS_IMETHOD GetName(nsAWritableString & aName) = 0;
  NS_IMETHOD SetName(const nsAReadableString & aName) = 0;

  /* readonly attribute long scrollX; */
  NS_IMETHOD GetScrollX(PRInt32 *aScrollX) = 0;

  /* readonly attribute long scrollY; */
  NS_IMETHOD GetScrollY(PRInt32 *aScrollY) = 0;

  /* void scrollTo (in long xScroll, in long yScroll); */
  NS_IMETHOD ScrollTo(PRInt32 xScroll, PRInt32 yScroll) = 0;

  /* void scrollBy (in long xScrollDif, in long yScrollDif); */
  NS_IMETHOD ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif) = 0;

  /* nsISelection getSelection (); */
  NS_IMETHOD GetSelection(nsISelection **_retval) = 0;

  /* void scrollByLines (in long numLines); */
  NS_IMETHOD ScrollByLines(PRInt32 numLines) = 0;

  /* void scrollByPages (in long numPages); */
  NS_IMETHOD ScrollByPages(PRInt32 numPages) = 0;

  /* void sizeToContent (); */
  NS_IMETHOD SizeToContent(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMWINDOW \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument); \
  NS_IMETHOD GetParent(nsIDOMWindow * *aParent); \
  NS_IMETHOD GetTop(nsIDOMWindow * *aTop); \
  NS_IMETHOD GetScrollbars(nsIDOMBarProp * *aScrollbars); \
  NS_IMETHOD GetFrames(nsIDOMWindowCollection * *aFrames); \
  NS_IMETHOD GetName(nsAWritableString & aName); \
  NS_IMETHOD SetName(const nsAReadableString & aName); \
  NS_IMETHOD GetScrollX(PRInt32 *aScrollX); \
  NS_IMETHOD GetScrollY(PRInt32 *aScrollY); \
  NS_IMETHOD ScrollTo(PRInt32 xScroll, PRInt32 yScroll); \
  NS_IMETHOD ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif); \
  NS_IMETHOD GetSelection(nsISelection **_retval); \
  NS_IMETHOD ScrollByLines(PRInt32 numLines); \
  NS_IMETHOD ScrollByPages(PRInt32 numPages); \
  NS_IMETHOD SizeToContent(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMWINDOW(_to) \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) { return _to ## GetDocument(aDocument); } \
  NS_IMETHOD GetParent(nsIDOMWindow * *aParent) { return _to ## GetParent(aParent); } \
  NS_IMETHOD GetTop(nsIDOMWindow * *aTop) { return _to ## GetTop(aTop); } \
  NS_IMETHOD GetScrollbars(nsIDOMBarProp * *aScrollbars) { return _to ## GetScrollbars(aScrollbars); } \
  NS_IMETHOD GetFrames(nsIDOMWindowCollection * *aFrames) { return _to ## GetFrames(aFrames); } \
  NS_IMETHOD GetName(nsAWritableString & aName) { return _to ## GetName(aName); } \
  NS_IMETHOD SetName(const nsAReadableString & aName) { return _to ## SetName(aName); } \
  NS_IMETHOD GetScrollX(PRInt32 *aScrollX) { return _to ## GetScrollX(aScrollX); } \
  NS_IMETHOD GetScrollY(PRInt32 *aScrollY) { return _to ## GetScrollY(aScrollY); } \
  NS_IMETHOD ScrollTo(PRInt32 xScroll, PRInt32 yScroll) { return _to ## ScrollTo(xScroll, yScroll); } \
  NS_IMETHOD ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif) { return _to ## ScrollBy(xScrollDif, yScrollDif); } \
  NS_IMETHOD GetSelection(nsISelection **_retval) { return _to ## GetSelection(_retval); } \
  NS_IMETHOD ScrollByLines(PRInt32 numLines) { return _to ## ScrollByLines(numLines); } \
  NS_IMETHOD ScrollByPages(PRInt32 numPages) { return _to ## ScrollByPages(numPages); } \
  NS_IMETHOD SizeToContent(void) { return _to ## SizeToContent(); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMWINDOW(_to) \
  NS_IMETHOD GetDocument(nsIDOMDocument * *aDocument) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetDocument(aDocument); } \
  NS_IMETHOD GetParent(nsIDOMWindow * *aParent) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetParent(aParent); } \
  NS_IMETHOD GetTop(nsIDOMWindow * *aTop) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetTop(aTop); } \
  NS_IMETHOD GetScrollbars(nsIDOMBarProp * *aScrollbars) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetScrollbars(aScrollbars); } \
  NS_IMETHOD GetFrames(nsIDOMWindowCollection * *aFrames) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetFrames(aFrames); } \
  NS_IMETHOD GetName(nsAWritableString & aName) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetName(aName); } \
  NS_IMETHOD SetName(const nsAReadableString & aName) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetName(aName); } \
  NS_IMETHOD GetScrollX(PRInt32 *aScrollX) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetScrollX(aScrollX); } \
  NS_IMETHOD GetScrollY(PRInt32 *aScrollY) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetScrollY(aScrollY); } \
  NS_IMETHOD ScrollTo(PRInt32 xScroll, PRInt32 yScroll) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ScrollTo(xScroll, yScroll); } \
  NS_IMETHOD ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ScrollBy(xScrollDif, yScrollDif); } \
  NS_IMETHOD GetSelection(nsISelection **_retval) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> GetSelection(_retval); } \
  NS_IMETHOD ScrollByLines(PRInt32 numLines) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ScrollByLines(numLines); } \
  NS_IMETHOD ScrollByPages(PRInt32 numPages) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ScrollByPages(numPages); } \
  NS_IMETHOD SizeToContent(void) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> SizeToContent(); } 

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

/* Header file */
class nsDOMWindow : public nsIDOMWindow
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMWINDOW

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

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMWindow, nsIDOMWindow)

nsDOMWindow::nsDOMWindow()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

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

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

/* readonly attribute nsIDOMWindow parent; */
NS_IMETHODIMP nsDOMWindow::GetParent(nsIDOMWindow * *aParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMWindow top; */
NS_IMETHODIMP nsDOMWindow::GetTop(nsIDOMWindow * *aTop)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMBarProp scrollbars; */
NS_IMETHODIMP nsDOMWindow::GetScrollbars(nsIDOMBarProp * *aScrollbars)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsIDOMWindowCollection frames; */
NS_IMETHODIMP nsDOMWindow::GetFrames(nsIDOMWindowCollection * *aFrames)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute DOMString name; */
NS_IMETHODIMP nsDOMWindow::GetName(nsAWritableString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsDOMWindow::SetName(const nsAReadableString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long scrollX; */
NS_IMETHODIMP nsDOMWindow::GetScrollX(PRInt32 *aScrollX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long scrollY; */
NS_IMETHODIMP nsDOMWindow::GetScrollY(PRInt32 *aScrollY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void scrollTo (in long xScroll, in long yScroll); */
NS_IMETHODIMP nsDOMWindow::ScrollTo(PRInt32 xScroll, PRInt32 yScroll)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void scrollBy (in long xScrollDif, in long yScrollDif); */
NS_IMETHODIMP nsDOMWindow::ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsISelection getSelection (); */
NS_IMETHODIMP nsDOMWindow::GetSelection(nsISelection **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void scrollByLines (in long numLines); */
NS_IMETHODIMP nsDOMWindow::ScrollByLines(PRInt32 numLines)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void scrollByPages (in long numPages); */
NS_IMETHODIMP nsDOMWindow::ScrollByPages(PRInt32 numPages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void sizeToContent (); */
NS_IMETHODIMP nsDOMWindow::SizeToContent()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIDOMWindow_h__ */
