
// 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 PageFormat;
          class Pageable;
          class Printable;
      }
    }
  }
  namespace javax
  {
    namespace print
    {
        class DocPrintJob;
        class PrintService;
      namespace attribute
      {
          class PrintRequestAttributeSet;
      }
    }
  }
}

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();
  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__
