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

#ifndef __gnu_classpath_jdwp_event_ThreadEndEvent__
#define __gnu_classpath_jdwp_event_ThreadEndEvent__

#pragma interface

#include <gnu/classpath/jdwp/event/Event.h>
extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
      namespace jdwp
      {
        namespace event
        {
            class ThreadEndEvent;
        }
      }
    }
  }
}

class gnu::classpath::jdwp::event::ThreadEndEvent : public ::gnu::classpath::jdwp::event::Event
{

public:
  ThreadEndEvent(::java::lang::Thread *);
  virtual ::java::lang::Object * getParameter(jint);
public: // actually protected
  virtual void _writeData(::java::io::DataOutputStream *);
private:
  ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_classpath_jdwp_event_ThreadEndEvent__
