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

#ifndef __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__
#define __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
        namespace protocol
        {
          namespace http
          {
              class HTTPConnection$Pool;
              class HTTPConnection$Pool$Reaper;
          }
        }
      }
    }
  }
}

class gnu::java::net::protocol::http::HTTPConnection$Pool$Reaper : public ::java::lang::Object
{

public: // actually package-private
  HTTPConnection$Pool$Reaper(::gnu::java::net::protocol::http::HTTPConnection$Pool *);
public:
  virtual void run();
public: // actually package-private
  ::gnu::java::net::protocol::http::HTTPConnection$Pool * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__
