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

#ifndef __gnu_java_awt_peer_qt_NativeWrapper__
#define __gnu_java_awt_peer_qt_NativeWrapper__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace peer
        {
          namespace qt
          {
              class NativeWrapper;
          }
        }
      }
    }
  }
}

class gnu::java::awt::peer::qt::NativeWrapper : public ::java::lang::Object
{

public:
  NativeWrapper();
public: // actually protected
  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeObject;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_qt_NativeWrapper__
