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

#ifndef __gnu_java_awt_peer_NativeEventLoopRunningEvent__
#define __gnu_java_awt_peer_NativeEventLoopRunningEvent__

#pragma interface

#include <java/awt/AWTEvent.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace peer
        {
            class NativeEventLoopRunningEvent;
        }
      }
    }
  }
}

class gnu::java::awt::peer::NativeEventLoopRunningEvent : public ::java::awt::AWTEvent
{

public:
  NativeEventLoopRunningEvent(::java::lang::Object *);
  virtual jboolean isRunning();
private:
  jboolean __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) running;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_NativeEventLoopRunningEvent__
