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

#ifndef __gen_nsIPrintOptions_h__
#define __gen_nsIPrintOptions_h__

#include "nsISupports.h"


/* starting interface:    nsIPrintOptions */
#define NS_IPRINTOPTIONS_IID_STR "cae87e20-479e-11d4-a856-00105a183419"

#define NS_IPRINTOPTIONS_IID \
  {0xcae87e20, 0x479e, 0x11d4, \
    { 0xa8, 0x56, 0x00, 0x10, 0x5a, 0x18, 0x34, 0x19 }}

/**
 * Simplified graphics interface for JS rendering.
 */
class NS_NO_VTABLE nsIPrintOptions : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPRINTOPTIONS_IID)

  /**
   * PageMargin.
   */
  /* void SetMargins (in PRInt32 aTop, in PRInt32 aLeft, in PRInt32 aRight, in PRInt32 aBottom); */
  NS_IMETHOD SetMargins(PRInt32 aTop, PRInt32 aLeft, PRInt32 aRight, PRInt32 aBottom) = 0;

  /* void GetMargins (out PRInt32 aTop, out PRInt32 aLeft, out PRInt32 aRight, out PRInt32 aBottom); */
  NS_IMETHOD GetMargins(PRInt32 *aTop, PRInt32 *aLeft, PRInt32 *aRight, PRInt32 *aBottom) = 0;

  /* void ShowNativeDialog (); */
  NS_IMETHOD ShowNativeDialog(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIPRINTOPTIONS \
  NS_IMETHOD SetMargins(PRInt32 aTop, PRInt32 aLeft, PRInt32 aRight, PRInt32 aBottom); \
  NS_IMETHOD GetMargins(PRInt32 *aTop, PRInt32 *aLeft, PRInt32 *aRight, PRInt32 *aBottom); \
  NS_IMETHOD ShowNativeDialog(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIPRINTOPTIONS(_to) \
  NS_IMETHOD SetMargins(PRInt32 aTop, PRInt32 aLeft, PRInt32 aRight, PRInt32 aBottom) { return _to ## SetMargins(aTop, aLeft, aRight, aBottom); } \
  NS_IMETHOD GetMargins(PRInt32 *aTop, PRInt32 *aLeft, PRInt32 *aRight, PRInt32 *aBottom) { return _to ## GetMargins(aTop, aLeft, aRight, aBottom); } \
  NS_IMETHOD ShowNativeDialog(void) { return _to ## ShowNativeDialog(); } 

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

/* Header file */
class nsPrintOptions : public nsIPrintOptions
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIPRINTOPTIONS

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

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsPrintOptions, nsIPrintOptions)

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

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

/* void SetMargins (in PRInt32 aTop, in PRInt32 aLeft, in PRInt32 aRight, in PRInt32 aBottom); */
NS_IMETHODIMP nsPrintOptions::SetMargins(PRInt32 aTop, PRInt32 aLeft, PRInt32 aRight, PRInt32 aBottom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetMargins (out PRInt32 aTop, out PRInt32 aLeft, out PRInt32 aRight, out PRInt32 aBottom); */
NS_IMETHODIMP nsPrintOptions::GetMargins(PRInt32 *aTop, PRInt32 *aLeft, PRInt32 *aRight, PRInt32 *aBottom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void ShowNativeDialog (); */
NS_IMETHODIMP nsPrintOptions::ShowNativeDialog()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIPrintOptions_h__ */
