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

#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__
#define __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__

#pragma interface

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

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

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

#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__
