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

#ifndef __java_util_Timer$TaskQueue__
#define __java_util_Timer$TaskQueue__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>


class java::util::Timer$TaskQueue : public ::java::lang::Object
{

public:
  Timer$TaskQueue();
private:
  void add(::java::util::TimerTask *);
  void remove();
public:
  void enqueue(::java::util::TimerTask *);
private:
  ::java::util::TimerTask * top();
public:
  ::java::util::TimerTask * serve();
  void setNullOnEmpty(jboolean);
  void stop();
  jint purge();
private:
  static const jint DEFAULT_SIZE = 32;
  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) nullOnEmpty;
  JArray< ::java::util::TimerTask * > * heap;
  jint elements;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_Timer$TaskQueue__
