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

#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__
#define __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__

#pragma interface

#include <javax/print/attribute/URISyntax.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace print
      {
        namespace ipp
        {
          namespace attribute
          {
            namespace printer
            {
                class PrinterDriverInstaller;
            }
          }
        }
      }
    }
  }
  namespace java
  {
    namespace net
    {
        class URI;
    }
  }
}

class gnu::javax::print::ipp::attribute::printer::PrinterDriverInstaller : public ::javax::print::attribute::URISyntax
{

public:
  PrinterDriverInstaller(::java::net::URI *);
  ::java::lang::Class * getCategory();
  ::java::lang::String * getName();
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__
