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

#ifndef __gnu_java_awt_peer_gtk_GtkDialogPeer__
#define __gnu_java_awt_peer_gtk_GtkDialogPeer__

#pragma interface

#include <gnu/java/awt/peer/gtk/GtkWindowPeer.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace peer
        {
          namespace gtk
          {
              class GtkDialogPeer;
          }
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
        class Dialog;
    }
  }
}

class gnu::java::awt::peer::gtk::GtkDialogPeer : public ::gnu::java::awt::peer::gtk::GtkWindowPeer
{

public:
  GtkDialogPeer(::java::awt::Dialog *);
public: // actually package-private
  virtual void create();
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_peer_gtk_GtkDialogPeer__
