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

#ifndef __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__
#define __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
      namespace jdwp
      {
          class JdwpConstants$SuspendPolicy;
      }
    }
  }
}

class gnu::classpath::jdwp::JdwpConstants$SuspendPolicy : public ::java::lang::Object
{

public:
  JdwpConstants$SuspendPolicy();
  static const jbyte NONE = 0;
  static const jbyte EVENT_THREAD = 1;
  static const jbyte ALL = 2;
  static ::java::lang::Class class$;
};

#endif // __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__
