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

#ifndef __java_util_concurrent_CountDownLatch__
#define __java_util_concurrent_CountDownLatch__

#pragma interface

#include <java/lang/Object.h>

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

public:
  CountDownLatch(jint);
  virtual void await();
  virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *);
  virtual void countDown();
  virtual jlong getCount();
  virtual ::java::lang::String * toString();
private:
  ::java::util::concurrent::CountDownLatch$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_CountDownLatch__
