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

#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__
#define __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__

#pragma interface

#include <javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.h>
extern "Java"
{
  namespace javax
  {
    namespace print
    {
      namespace attribute
      {
          class AttributeSetUtilities$SynchronizedPrintRequestAttributeSet;
          class PrintRequestAttributeSet;
      }
    }
  }
}

class javax::print::attribute::AttributeSetUtilities$SynchronizedPrintRequestAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet
{

public:
  AttributeSetUtilities$SynchronizedPrintRequestAttributeSet(::javax::print::attribute::PrintRequestAttributeSet *);
  static ::java::lang::Class class$;
};

#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__
