// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_java_awt_print_JavaPrinterJob__
#define __gnu_java_awt_print_JavaPrinterJob__

#pragma interface

#include <java/awt/print/PrinterJob.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace print
        {
          class JavaPrinterJob;
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
      namespace print
      {
        class Pageable;
        class PageFormat;
        class Printable;
      }
    }
  }
  namespace javax
  {
    namespace print
    {
      class DocPrintJob;
      namespace attribute
      {
        class PrintRequestAttributeSet;
      }
      class PrintService;
    }
  }
}

class gnu::java::awt::print::JavaPrinterJob : public ::java::awt::print::PrinterJob
{
public:
  JavaPrinterJob ();
private:
  void getPageAttributes ();
public:
  virtual jint getCopies ();
  virtual void setCopies (jint);
  virtual ::java::lang::String *getJobName ();
  virtual void setJobName (::java::lang::String *);
  virtual ::java::lang::String *getUserName ();
  virtual void cancel ();
  virtual jboolean isCancelled () { return cancelled; }
  virtual ::java::awt::print::PageFormat *defaultPage (::java::awt::print::PageFormat *);
  virtual ::java::awt::print::PageFormat *pageDialog (::java::awt::print::PageFormat *);
  virtual void print ();
  virtual void print (::javax::print::attribute::PrintRequestAttributeSet *);
  virtual jboolean printDialog ();
  virtual jboolean printDialog (::javax::print::attribute::PrintRequestAttributeSet *);
  virtual void setPageable (::java::awt::print::Pageable *);
  virtual void setPrintable (::java::awt::print::Printable *);
  virtual void setPrintable (::java::awt::print::Printable *, ::java::awt::print::PageFormat *);
  virtual ::java::awt::print::PageFormat *validatePage (::java::awt::print::PageFormat *);
  virtual void setPrintService (::javax::print::PrintService *);
private:
  ::javax::print::PrintService * __attribute__((aligned(__alignof__( ::java::awt::print::PrinterJob )))) printer;
  ::javax::print::attribute::PrintRequestAttributeSet *attributes;
  static JArray< ::javax::print::PrintService *> *services;
  ::javax::print::DocPrintJob *printJob;
  ::java::awt::print::Printable *printable;
  ::java::awt::print::PageFormat *pageFormat;
  ::java::awt::print::Pageable *pageable;
  jboolean cancelled;
  static ::java::lang::Class *copyClass;
  static ::java::lang::Class *jobNameClass;
  static ::java::lang::Class *userNameClass;
public:

  static ::java::lang::Class class$;
};

#endif /* __gnu_java_awt_print_JavaPrinterJob__ */
