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

#ifndef __java_util_concurrent_CyclicBarrier__
#define __java_util_concurrent_CyclicBarrier__

#pragma interface

#include <java/lang/Object.h>

class java::util::concurrent::CyclicBarrier : public ::java::lang::Object
{

  void nextGeneration();
  void breakBarrier();
  jint dowait(jboolean, jlong);
public:
  CyclicBarrier(jint, ::java::lang::Runnable *);
  CyclicBarrier(jint);
  virtual jint getParties();
  virtual jint await();
  virtual jint await(jlong, ::java::util::concurrent::TimeUnit *);
  virtual jboolean isBroken();
  virtual void reset();
  virtual jint getNumberWaiting();
private:
  ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lock;
  ::java::util::concurrent::locks::Condition * trip;
  jint parties;
  ::java::lang::Runnable * barrierCommand;
  ::java::util::concurrent::CyclicBarrier$Generation * generation;
  jint count;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_CyclicBarrier__