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

#ifndef __gnu_java_rmi_dgc_DGCImpl$RefProtector__
#define __gnu_java_rmi_dgc_DGCImpl$RefProtector__

#pragma interface

#include <java/util/TimerTask.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace rmi
      {
        namespace dgc
        {
            class DGCImpl;
            class DGCImpl$RefProtector;
        }
      }
    }
  }
  namespace java
  {
    namespace rmi
    {
      namespace server
      {
          class ObjID;
      }
    }
  }
}

class gnu::java::rmi::dgc::DGCImpl$RefProtector : public ::java::util::TimerTask
{

public: // actually package-private
  DGCImpl$RefProtector(::gnu::java::rmi::dgc::DGCImpl *, JArray< ::java::rmi::server::ObjID * > *, jlong);
public:
  virtual void run();
public: // actually package-private
  JArray< ::java::util::Collection * > * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) references;
  ::gnu::java::rmi::dgc::DGCImpl * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_rmi_dgc_DGCImpl$RefProtector__
