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

#ifndef __gen_nsIPrintOptions_h__
#define __gen_nsIPrintOptions_h__


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

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
#include "nsMargin.h"
#include "nsFont.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.
 *
 * @status UNDER_REVIEW
 */
class NS_NO_VTABLE nsIPrintOptions : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPRINTOPTIONS_IID)

  enum { kOptPrintOddPages = 1 };

  enum { kOptPrintEvenPages = 2 };

  enum { kOptPrintDocTitle = 4 };

  enum { kOptPrintDocLoc = 8 };

  enum { kOptPrintPageNums = 16 };

  enum { kOptPrintPageTotal = 32 };

  enum { kOptPrintDatePrinted = 64 };

  enum { kPrintOptionsEnableSelectionRB = 128 };

  enum { kRangeAllPages = 0 };

  enum { kRangeSpecifiedPageRange = 1 };

  enum { kRangeSelection = 2 };

  enum { kRangeFocusFrame = 3 };

  enum { kJustLeft = 0 };

  enum { kJustCenter = 1 };

  enum { kJustRight = 2 };

  /**
   * Page Size Constants
   */
  enum { kLetterPaperSize = 0 };

  enum { kLegalPaperSize = 1 };

  enum { kExecutivePaperSize = 2 };

  enum { kA4PaperSize = 3 };

  enum { kA3PaperSize = 4 };

  /**
   * Print Frame Constants
   */
  enum { kNoFrames = 0 };

  enum { kFramesAsIs = 1 };

  enum { kSelectedFrame = 2 };

  enum { kEachFrameSep = 3 };

  enum { kFrameEnableNone = 0 };

  enum { kFrameEnableAll = 1 };

  enum { kFrameEnableAsIsAndEach = 2 };

  /**
   * Show Native Print Options dialog, this may not be supported on all platforms
   */
  /* void ShowNativeDialog (); */
  NS_IMETHOD ShowNativeDialog(void) = 0;

  /**
   * Set PrintOptions 
   */
  /* void SetPrintOptions (in PRInt32 aType, in PRBool aTurnOnOff); */
  NS_IMETHOD SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff) = 0;

  /**
   * Get PrintOptions 
   */
  /* PRBool GetPrintOptions (in PRInt32 aType); */
  NS_IMETHOD GetPrintOptions(PRInt32 aType, PRBool *_retval) = 0;

  /**
   * Set PrintOptions Bit field
   */
  /* PRInt32 GetPrintOptionsBits (); */
  NS_IMETHOD GetPrintOptionsBits(PRInt32 *_retval) = 0;

  /**
   * Read Prefs 
   */
  /* void ReadPrefs (); */
  NS_IMETHOD ReadPrefs(void) = 0;

  /**
   * Write Prefs
   */
  /* void WritePrefs (); */
  NS_IMETHOD WritePrefs(void) = 0;

  /**
   * Data Members
   */
  /* attribute long startPageRange; */
  NS_IMETHOD GetStartPageRange(PRInt32 *aStartPageRange) = 0;
  NS_IMETHOD SetStartPageRange(PRInt32 aStartPageRange) = 0;

  /* attribute long endPageRange; */
  NS_IMETHOD GetEndPageRange(PRInt32 *aEndPageRange) = 0;
  NS_IMETHOD SetEndPageRange(PRInt32 aEndPageRange) = 0;

  /* attribute double marginTop; */
  NS_IMETHOD GetMarginTop(double *aMarginTop) = 0;
  NS_IMETHOD SetMarginTop(double aMarginTop) = 0;

  /* attribute double marginLeft; */
  NS_IMETHOD GetMarginLeft(double *aMarginLeft) = 0;
  NS_IMETHOD SetMarginLeft(double aMarginLeft) = 0;

  /* attribute double marginBottom; */
  NS_IMETHOD GetMarginBottom(double *aMarginBottom) = 0;
  NS_IMETHOD SetMarginBottom(double aMarginBottom) = 0;

  /* attribute double marginRight; */
  NS_IMETHOD GetMarginRight(double *aMarginRight) = 0;
  NS_IMETHOD SetMarginRight(double aMarginRight) = 0;

  /* attribute short printRange; */
  NS_IMETHOD GetPrintRange(PRInt16 *aPrintRange) = 0;
  NS_IMETHOD SetPrintRange(PRInt16 aPrintRange) = 0;

  /* attribute short pageNumJust; */
  NS_IMETHOD GetPageNumJust(PRInt16 *aPageNumJust) = 0;
  NS_IMETHOD SetPageNumJust(PRInt16 aPageNumJust) = 0;

  /* attribute wstring title; */
  NS_IMETHOD GetTitle(PRUnichar * *aTitle) = 0;
  NS_IMETHOD SetTitle(const PRUnichar * aTitle) = 0;

  /* attribute wstring docURL; */
  NS_IMETHOD GetDocURL(PRUnichar * *aDocURL) = 0;
  NS_IMETHOD SetDocURL(const PRUnichar * aDocURL) = 0;

  /* attribute short howToEnableFrameUI; */
  NS_IMETHOD GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI) = 0;
  NS_IMETHOD SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI) = 0;

  /* attribute short printFrameType; */
  NS_IMETHOD GetPrintFrameType(PRInt16 *aPrintFrameType) = 0;
  NS_IMETHOD SetPrintFrameType(PRInt16 aPrintFrameType) = 0;

  /* attribute boolean isCancelled; */
  NS_IMETHOD GetIsCancelled(PRBool *aIsCancelled) = 0;
  NS_IMETHOD SetIsCancelled(PRBool aIsCancelled) = 0;

  /* attribute boolean PrintSilent; */
  NS_IMETHOD GetPrintSilent(PRBool *aPrintSilent) = 0;
  NS_IMETHOD SetPrintSilent(PRBool aPrintSilent) = 0;

  /* attribute boolean printReversed; */
  NS_IMETHOD GetPrintReversed(PRBool *aPrintReversed) = 0;
  NS_IMETHOD SetPrintReversed(PRBool aPrintReversed) = 0;

  /* attribute boolean printInColor; */
  NS_IMETHOD GetPrintInColor(PRBool *aPrintInColor) = 0;
  NS_IMETHOD SetPrintInColor(PRBool aPrintInColor) = 0;

  /* attribute long paperSize; */
  NS_IMETHOD GetPaperSize(PRInt32 *aPaperSize) = 0;
  NS_IMETHOD SetPaperSize(PRInt32 aPaperSize) = 0;

  /* attribute wstring printCommand; */
  NS_IMETHOD GetPrintCommand(PRUnichar * *aPrintCommand) = 0;
  NS_IMETHOD SetPrintCommand(const PRUnichar * aPrintCommand) = 0;

  /* attribute boolean printToFile; */
  NS_IMETHOD GetPrintToFile(PRBool *aPrintToFile) = 0;
  NS_IMETHOD SetPrintToFile(PRBool aPrintToFile) = 0;

  /* attribute wstring toFileName; */
  NS_IMETHOD GetToFileName(PRUnichar * *aToFileName) = 0;
  NS_IMETHOD SetToFileName(const PRUnichar * aToFileName) = 0;

  /* attribute long printPageDelay; */
  NS_IMETHOD GetPrintPageDelay(PRInt32 *aPrintPageDelay) = 0;
  NS_IMETHOD SetPrintPageDelay(PRInt32 aPrintPageDelay) = 0;

  /* [noscript] void SetFontNamePointSize (in nsNativeStringRef aName, in PRInt32 aPointSize); */
  NS_IMETHOD SetFontNamePointSize(nsString & aName, PRInt32 aPointSize) = 0;

  /* [noscript] void SetMarginInTwips (in nsNativeMarginRef aMargin); */
  NS_IMETHOD SetMarginInTwips(nsMargin & aMargin) = 0;

  /* [noscript] void GetMarginInTwips (in nsNativeMarginRef aMargin); */
  NS_IMETHOD GetMarginInTwips(nsMargin & aMargin) = 0;

  /* [noscript] void SetDefaultFont (in nsNativeFontRef aMargin); */
  NS_IMETHOD SetDefaultFont(nsFont & aMargin) = 0;

  /* [noscript] void GetDefaultFont (in nsNativeFontRef aMargin); */
  NS_IMETHOD GetDefaultFont(nsFont & aMargin) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIPRINTOPTIONS \
  NS_IMETHOD ShowNativeDialog(void); \
  NS_IMETHOD SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff); \
  NS_IMETHOD GetPrintOptions(PRInt32 aType, PRBool *_retval); \
  NS_IMETHOD GetPrintOptionsBits(PRInt32 *_retval); \
  NS_IMETHOD ReadPrefs(void); \
  NS_IMETHOD WritePrefs(void); \
  NS_IMETHOD GetStartPageRange(PRInt32 *aStartPageRange); \
  NS_IMETHOD SetStartPageRange(PRInt32 aStartPageRange); \
  NS_IMETHOD GetEndPageRange(PRInt32 *aEndPageRange); \
  NS_IMETHOD SetEndPageRange(PRInt32 aEndPageRange); \
  NS_IMETHOD GetMarginTop(double *aMarginTop); \
  NS_IMETHOD SetMarginTop(double aMarginTop); \
  NS_IMETHOD GetMarginLeft(double *aMarginLeft); \
  NS_IMETHOD SetMarginLeft(double aMarginLeft); \
  NS_IMETHOD GetMarginBottom(double *aMarginBottom); \
  NS_IMETHOD SetMarginBottom(double aMarginBottom); \
  NS_IMETHOD GetMarginRight(double *aMarginRight); \
  NS_IMETHOD SetMarginRight(double aMarginRight); \
  NS_IMETHOD GetPrintRange(PRInt16 *aPrintRange); \
  NS_IMETHOD SetPrintRange(PRInt16 aPrintRange); \
  NS_IMETHOD GetPageNumJust(PRInt16 *aPageNumJust); \
  NS_IMETHOD SetPageNumJust(PRInt16 aPageNumJust); \
  NS_IMETHOD GetTitle(PRUnichar * *aTitle); \
  NS_IMETHOD SetTitle(const PRUnichar * aTitle); \
  NS_IMETHOD GetDocURL(PRUnichar * *aDocURL); \
  NS_IMETHOD SetDocURL(const PRUnichar * aDocURL); \
  NS_IMETHOD GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI); \
  NS_IMETHOD SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI); \
  NS_IMETHOD GetPrintFrameType(PRInt16 *aPrintFrameType); \
  NS_IMETHOD SetPrintFrameType(PRInt16 aPrintFrameType); \
  NS_IMETHOD GetIsCancelled(PRBool *aIsCancelled); \
  NS_IMETHOD SetIsCancelled(PRBool aIsCancelled); \
  NS_IMETHOD GetPrintSilent(PRBool *aPrintSilent); \
  NS_IMETHOD SetPrintSilent(PRBool aPrintSilent); \
  NS_IMETHOD GetPrintReversed(PRBool *aPrintReversed); \
  NS_IMETHOD SetPrintReversed(PRBool aPrintReversed); \
  NS_IMETHOD GetPrintInColor(PRBool *aPrintInColor); \
  NS_IMETHOD SetPrintInColor(PRBool aPrintInColor); \
  NS_IMETHOD GetPaperSize(PRInt32 *aPaperSize); \
  NS_IMETHOD SetPaperSize(PRInt32 aPaperSize); \
  NS_IMETHOD GetPrintCommand(PRUnichar * *aPrintCommand); \
  NS_IMETHOD SetPrintCommand(const PRUnichar * aPrintCommand); \
  NS_IMETHOD GetPrintToFile(PRBool *aPrintToFile); \
  NS_IMETHOD SetPrintToFile(PRBool aPrintToFile); \
  NS_IMETHOD GetToFileName(PRUnichar * *aToFileName); \
  NS_IMETHOD SetToFileName(const PRUnichar * aToFileName); \
  NS_IMETHOD GetPrintPageDelay(PRInt32 *aPrintPageDelay); \
  NS_IMETHOD SetPrintPageDelay(PRInt32 aPrintPageDelay); \
  NS_IMETHOD SetFontNamePointSize(nsString & aName, PRInt32 aPointSize); \
  NS_IMETHOD SetMarginInTwips(nsMargin & aMargin); \
  NS_IMETHOD GetMarginInTwips(nsMargin & aMargin); \
  NS_IMETHOD SetDefaultFont(nsFont & aMargin); \
  NS_IMETHOD GetDefaultFont(nsFont & aMargin); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIPRINTOPTIONS(_to) \
  NS_IMETHOD ShowNativeDialog(void) { return _to ## ShowNativeDialog(); } \
  NS_IMETHOD SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff) { return _to ## SetPrintOptions(aType, aTurnOnOff); } \
  NS_IMETHOD GetPrintOptions(PRInt32 aType, PRBool *_retval) { return _to ## GetPrintOptions(aType, _retval); } \
  NS_IMETHOD GetPrintOptionsBits(PRInt32 *_retval) { return _to ## GetPrintOptionsBits(_retval); } \
  NS_IMETHOD ReadPrefs(void) { return _to ## ReadPrefs(); } \
  NS_IMETHOD WritePrefs(void) { return _to ## WritePrefs(); } \
  NS_IMETHOD GetStartPageRange(PRInt32 *aStartPageRange) { return _to ## GetStartPageRange(aStartPageRange); } \
  NS_IMETHOD SetStartPageRange(PRInt32 aStartPageRange) { return _to ## SetStartPageRange(aStartPageRange); } \
  NS_IMETHOD GetEndPageRange(PRInt32 *aEndPageRange) { return _to ## GetEndPageRange(aEndPageRange); } \
  NS_IMETHOD SetEndPageRange(PRInt32 aEndPageRange) { return _to ## SetEndPageRange(aEndPageRange); } \
  NS_IMETHOD GetMarginTop(double *aMarginTop) { return _to ## GetMarginTop(aMarginTop); } \
  NS_IMETHOD SetMarginTop(double aMarginTop) { return _to ## SetMarginTop(aMarginTop); } \
  NS_IMETHOD GetMarginLeft(double *aMarginLeft) { return _to ## GetMarginLeft(aMarginLeft); } \
  NS_IMETHOD SetMarginLeft(double aMarginLeft) { return _to ## SetMarginLeft(aMarginLeft); } \
  NS_IMETHOD GetMarginBottom(double *aMarginBottom) { return _to ## GetMarginBottom(aMarginBottom); } \
  NS_IMETHOD SetMarginBottom(double aMarginBottom) { return _to ## SetMarginBottom(aMarginBottom); } \
  NS_IMETHOD GetMarginRight(double *aMarginRight) { return _to ## GetMarginRight(aMarginRight); } \
  NS_IMETHOD SetMarginRight(double aMarginRight) { return _to ## SetMarginRight(aMarginRight); } \
  NS_IMETHOD GetPrintRange(PRInt16 *aPrintRange) { return _to ## GetPrintRange(aPrintRange); } \
  NS_IMETHOD SetPrintRange(PRInt16 aPrintRange) { return _to ## SetPrintRange(aPrintRange); } \
  NS_IMETHOD GetPageNumJust(PRInt16 *aPageNumJust) { return _to ## GetPageNumJust(aPageNumJust); } \
  NS_IMETHOD SetPageNumJust(PRInt16 aPageNumJust) { return _to ## SetPageNumJust(aPageNumJust); } \
  NS_IMETHOD GetTitle(PRUnichar * *aTitle) { return _to ## GetTitle(aTitle); } \
  NS_IMETHOD SetTitle(const PRUnichar * aTitle) { return _to ## SetTitle(aTitle); } \
  NS_IMETHOD GetDocURL(PRUnichar * *aDocURL) { return _to ## GetDocURL(aDocURL); } \
  NS_IMETHOD SetDocURL(const PRUnichar * aDocURL) { return _to ## SetDocURL(aDocURL); } \
  NS_IMETHOD GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI) { return _to ## GetHowToEnableFrameUI(aHowToEnableFrameUI); } \
  NS_IMETHOD SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI) { return _to ## SetHowToEnableFrameUI(aHowToEnableFrameUI); } \
  NS_IMETHOD GetPrintFrameType(PRInt16 *aPrintFrameType) { return _to ## GetPrintFrameType(aPrintFrameType); } \
  NS_IMETHOD SetPrintFrameType(PRInt16 aPrintFrameType) { return _to ## SetPrintFrameType(aPrintFrameType); } \
  NS_IMETHOD GetIsCancelled(PRBool *aIsCancelled) { return _to ## GetIsCancelled(aIsCancelled); } \
  NS_IMETHOD SetIsCancelled(PRBool aIsCancelled) { return _to ## SetIsCancelled(aIsCancelled); } \
  NS_IMETHOD GetPrintSilent(PRBool *aPrintSilent) { return _to ## GetPrintSilent(aPrintSilent); } \
  NS_IMETHOD SetPrintSilent(PRBool aPrintSilent) { return _to ## SetPrintSilent(aPrintSilent); } \
  NS_IMETHOD GetPrintReversed(PRBool *aPrintReversed) { return _to ## GetPrintReversed(aPrintReversed); } \
  NS_IMETHOD SetPrintReversed(PRBool aPrintReversed) { return _to ## SetPrintReversed(aPrintReversed); } \
  NS_IMETHOD GetPrintInColor(PRBool *aPrintInColor) { return _to ## GetPrintInColor(aPrintInColor); } \
  NS_IMETHOD SetPrintInColor(PRBool aPrintInColor) { return _to ## SetPrintInColor(aPrintInColor); } \
  NS_IMETHOD GetPaperSize(PRInt32 *aPaperSize) { return _to ## GetPaperSize(aPaperSize); } \
  NS_IMETHOD SetPaperSize(PRInt32 aPaperSize) { return _to ## SetPaperSize(aPaperSize); } \
  NS_IMETHOD GetPrintCommand(PRUnichar * *aPrintCommand) { return _to ## GetPrintCommand(aPrintCommand); } \
  NS_IMETHOD SetPrintCommand(const PRUnichar * aPrintCommand) { return _to ## SetPrintCommand(aPrintCommand); } \
  NS_IMETHOD GetPrintToFile(PRBool *aPrintToFile) { return _to ## GetPrintToFile(aPrintToFile); } \
  NS_IMETHOD SetPrintToFile(PRBool aPrintToFile) { return _to ## SetPrintToFile(aPrintToFile); } \
  NS_IMETHOD GetToFileName(PRUnichar * *aToFileName) { return _to ## GetToFileName(aToFileName); } \
  NS_IMETHOD SetToFileName(const PRUnichar * aToFileName) { return _to ## SetToFileName(aToFileName); } \
  NS_IMETHOD GetPrintPageDelay(PRInt32 *aPrintPageDelay) { return _to ## GetPrintPageDelay(aPrintPageDelay); } \
  NS_IMETHOD SetPrintPageDelay(PRInt32 aPrintPageDelay) { return _to ## SetPrintPageDelay(aPrintPageDelay); } \
  NS_IMETHOD SetFontNamePointSize(nsString & aName, PRInt32 aPointSize) { return _to ## SetFontNamePointSize(aName, aPointSize); } \
  NS_IMETHOD SetMarginInTwips(nsMargin & aMargin) { return _to ## SetMarginInTwips(aMargin); } \
  NS_IMETHOD GetMarginInTwips(nsMargin & aMargin) { return _to ## GetMarginInTwips(aMargin); } \
  NS_IMETHOD SetDefaultFont(nsFont & aMargin) { return _to ## SetDefaultFont(aMargin); } \
  NS_IMETHOD GetDefaultFont(nsFont & aMargin) { return _to ## GetDefaultFont(aMargin); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIPRINTOPTIONS(_to) \
  NS_IMETHOD ShowNativeDialog(void) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ShowNativeDialog(); } \
  NS_IMETHOD SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> SetPrintOptions(aType, aTurnOnOff); } \
  NS_IMETHOD GetPrintOptions(PRInt32 aType, PRBool *_retval) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> GetPrintOptions(aType, _retval); } \
  NS_IMETHOD GetPrintOptionsBits(PRInt32 *_retval) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> GetPrintOptionsBits(_retval); } \
  NS_IMETHOD ReadPrefs(void) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> ReadPrefs(); } \
  NS_IMETHOD WritePrefs(void) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> WritePrefs(); } \
  NS_IMETHOD GetStartPageRange(PRInt32 *aStartPageRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetStartPageRange(aStartPageRange); } \
  NS_IMETHOD SetStartPageRange(PRInt32 aStartPageRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetStartPageRange(aStartPageRange); } \
  NS_IMETHOD GetEndPageRange(PRInt32 *aEndPageRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetEndPageRange(aEndPageRange); } \
  NS_IMETHOD SetEndPageRange(PRInt32 aEndPageRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetEndPageRange(aEndPageRange); } \
  NS_IMETHOD GetMarginTop(double *aMarginTop) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetMarginTop(aMarginTop); } \
  NS_IMETHOD SetMarginTop(double aMarginTop) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetMarginTop(aMarginTop); } \
  NS_IMETHOD GetMarginLeft(double *aMarginLeft) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetMarginLeft(aMarginLeft); } \
  NS_IMETHOD SetMarginLeft(double aMarginLeft) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetMarginLeft(aMarginLeft); } \
  NS_IMETHOD GetMarginBottom(double *aMarginBottom) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetMarginBottom(aMarginBottom); } \
  NS_IMETHOD SetMarginBottom(double aMarginBottom) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetMarginBottom(aMarginBottom); } \
  NS_IMETHOD GetMarginRight(double *aMarginRight) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetMarginRight(aMarginRight); } \
  NS_IMETHOD SetMarginRight(double aMarginRight) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetMarginRight(aMarginRight); } \
  NS_IMETHOD GetPrintRange(PRInt16 *aPrintRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintRange(aPrintRange); } \
  NS_IMETHOD SetPrintRange(PRInt16 aPrintRange) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintRange(aPrintRange); } \
  NS_IMETHOD GetPageNumJust(PRInt16 *aPageNumJust) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPageNumJust(aPageNumJust); } \
  NS_IMETHOD SetPageNumJust(PRInt16 aPageNumJust) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPageNumJust(aPageNumJust); } \
  NS_IMETHOD GetTitle(PRUnichar * *aTitle) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetTitle(aTitle); } \
  NS_IMETHOD SetTitle(const PRUnichar * aTitle) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetTitle(aTitle); } \
  NS_IMETHOD GetDocURL(PRUnichar * *aDocURL) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetDocURL(aDocURL); } \
  NS_IMETHOD SetDocURL(const PRUnichar * aDocURL) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetDocURL(aDocURL); } \
  NS_IMETHOD GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetHowToEnableFrameUI(aHowToEnableFrameUI); } \
  NS_IMETHOD SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetHowToEnableFrameUI(aHowToEnableFrameUI); } \
  NS_IMETHOD GetPrintFrameType(PRInt16 *aPrintFrameType) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintFrameType(aPrintFrameType); } \
  NS_IMETHOD SetPrintFrameType(PRInt16 aPrintFrameType) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintFrameType(aPrintFrameType); } \
  NS_IMETHOD GetIsCancelled(PRBool *aIsCancelled) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetIsCancelled(aIsCancelled); } \
  NS_IMETHOD SetIsCancelled(PRBool aIsCancelled) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetIsCancelled(aIsCancelled); } \
  NS_IMETHOD GetPrintSilent(PRBool *aPrintSilent) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintSilent(aPrintSilent); } \
  NS_IMETHOD SetPrintSilent(PRBool aPrintSilent) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintSilent(aPrintSilent); } \
  NS_IMETHOD GetPrintReversed(PRBool *aPrintReversed) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintReversed(aPrintReversed); } \
  NS_IMETHOD SetPrintReversed(PRBool aPrintReversed) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintReversed(aPrintReversed); } \
  NS_IMETHOD GetPrintInColor(PRBool *aPrintInColor) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintInColor(aPrintInColor); } \
  NS_IMETHOD SetPrintInColor(PRBool aPrintInColor) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintInColor(aPrintInColor); } \
  NS_IMETHOD GetPaperSize(PRInt32 *aPaperSize) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPaperSize(aPaperSize); } \
  NS_IMETHOD SetPaperSize(PRInt32 aPaperSize) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPaperSize(aPaperSize); } \
  NS_IMETHOD GetPrintCommand(PRUnichar * *aPrintCommand) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintCommand(aPrintCommand); } \
  NS_IMETHOD SetPrintCommand(const PRUnichar * aPrintCommand) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintCommand(aPrintCommand); } \
  NS_IMETHOD GetPrintToFile(PRBool *aPrintToFile) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintToFile(aPrintToFile); } \
  NS_IMETHOD SetPrintToFile(PRBool aPrintToFile) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintToFile(aPrintToFile); } \
  NS_IMETHOD GetToFileName(PRUnichar * *aToFileName) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetToFileName(aToFileName); } \
  NS_IMETHOD SetToFileName(const PRUnichar * aToFileName) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetToFileName(aToFileName); } \
  NS_IMETHOD GetPrintPageDelay(PRInt32 *aPrintPageDelay) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->GetPrintPageDelay(aPrintPageDelay); } \
  NS_IMETHOD SetPrintPageDelay(PRInt32 aPrintPageDelay) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##->SetPrintPageDelay(aPrintPageDelay); } \
  NS_IMETHOD SetFontNamePointSize(nsString & aName, PRInt32 aPointSize) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> SetFontNamePointSize(aName, aPointSize); } \
  NS_IMETHOD SetMarginInTwips(nsMargin & aMargin) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> SetMarginInTwips(aMargin); } \
  NS_IMETHOD GetMarginInTwips(nsMargin & aMargin) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> GetMarginInTwips(aMargin); } \
  NS_IMETHOD SetDefaultFont(nsFont & aMargin) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> SetDefaultFont(aMargin); } \
  NS_IMETHOD GetDefaultFont(nsFont & aMargin) { return !_to ## ? NS_ERROR_NULL_POINTER : _to ##-> GetDefaultFont(aMargin); } 

#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 ShowNativeDialog (); */
NS_IMETHODIMP nsPrintOptions::ShowNativeDialog()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void SetPrintOptions (in PRInt32 aType, in PRBool aTurnOnOff); */
NS_IMETHODIMP nsPrintOptions::SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* PRBool GetPrintOptions (in PRInt32 aType); */
NS_IMETHODIMP nsPrintOptions::GetPrintOptions(PRInt32 aType, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* PRInt32 GetPrintOptionsBits (); */
NS_IMETHODIMP nsPrintOptions::GetPrintOptionsBits(PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

/* attribute long startPageRange; */
NS_IMETHODIMP nsPrintOptions::GetStartPageRange(PRInt32 *aStartPageRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetStartPageRange(PRInt32 aStartPageRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long endPageRange; */
NS_IMETHODIMP nsPrintOptions::GetEndPageRange(PRInt32 *aEndPageRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetEndPageRange(PRInt32 aEndPageRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute double marginTop; */
NS_IMETHODIMP nsPrintOptions::GetMarginTop(double *aMarginTop)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetMarginTop(double aMarginTop)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute double marginLeft; */
NS_IMETHODIMP nsPrintOptions::GetMarginLeft(double *aMarginLeft)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetMarginLeft(double aMarginLeft)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute double marginBottom; */
NS_IMETHODIMP nsPrintOptions::GetMarginBottom(double *aMarginBottom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetMarginBottom(double aMarginBottom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute double marginRight; */
NS_IMETHODIMP nsPrintOptions::GetMarginRight(double *aMarginRight)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetMarginRight(double aMarginRight)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute short printRange; */
NS_IMETHODIMP nsPrintOptions::GetPrintRange(PRInt16 *aPrintRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintRange(PRInt16 aPrintRange)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute short pageNumJust; */
NS_IMETHODIMP nsPrintOptions::GetPageNumJust(PRInt16 *aPageNumJust)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPageNumJust(PRInt16 aPageNumJust)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring title; */
NS_IMETHODIMP nsPrintOptions::GetTitle(PRUnichar * *aTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetTitle(const PRUnichar * aTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring docURL; */
NS_IMETHODIMP nsPrintOptions::GetDocURL(PRUnichar * *aDocURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetDocURL(const PRUnichar * aDocURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute short howToEnableFrameUI; */
NS_IMETHODIMP nsPrintOptions::GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute short printFrameType; */
NS_IMETHODIMP nsPrintOptions::GetPrintFrameType(PRInt16 *aPrintFrameType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintFrameType(PRInt16 aPrintFrameType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isCancelled; */
NS_IMETHODIMP nsPrintOptions::GetIsCancelled(PRBool *aIsCancelled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetIsCancelled(PRBool aIsCancelled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean PrintSilent; */
NS_IMETHODIMP nsPrintOptions::GetPrintSilent(PRBool *aPrintSilent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintSilent(PRBool aPrintSilent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean printReversed; */
NS_IMETHODIMP nsPrintOptions::GetPrintReversed(PRBool *aPrintReversed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintReversed(PRBool aPrintReversed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean printInColor; */
NS_IMETHODIMP nsPrintOptions::GetPrintInColor(PRBool *aPrintInColor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintInColor(PRBool aPrintInColor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long paperSize; */
NS_IMETHODIMP nsPrintOptions::GetPaperSize(PRInt32 *aPaperSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPaperSize(PRInt32 aPaperSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring printCommand; */
NS_IMETHODIMP nsPrintOptions::GetPrintCommand(PRUnichar * *aPrintCommand)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintCommand(const PRUnichar * aPrintCommand)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean printToFile; */
NS_IMETHODIMP nsPrintOptions::GetPrintToFile(PRBool *aPrintToFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintToFile(PRBool aPrintToFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring toFileName; */
NS_IMETHODIMP nsPrintOptions::GetToFileName(PRUnichar * *aToFileName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetToFileName(const PRUnichar * aToFileName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long printPageDelay; */
NS_IMETHODIMP nsPrintOptions::GetPrintPageDelay(PRInt32 *aPrintPageDelay)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrintOptions::SetPrintPageDelay(PRInt32 aPrintPageDelay)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void SetFontNamePointSize (in nsNativeStringRef aName, in PRInt32 aPointSize); */
NS_IMETHODIMP nsPrintOptions::SetFontNamePointSize(nsString & aName, PRInt32 aPointSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void SetMarginInTwips (in nsNativeMarginRef aMargin); */
NS_IMETHODIMP nsPrintOptions::SetMarginInTwips(nsMargin & aMargin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void GetMarginInTwips (in nsNativeMarginRef aMargin); */
NS_IMETHODIMP nsPrintOptions::GetMarginInTwips(nsMargin & aMargin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void SetDefaultFont (in nsNativeFontRef aMargin); */
NS_IMETHODIMP nsPrintOptions::SetDefaultFont(nsFont & aMargin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void GetDefaultFont (in nsNativeFontRef aMargin); */
NS_IMETHODIMP nsPrintOptions::GetDefaultFont(nsFont & aMargin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIPrintOptions_h__ */
