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

#ifndef __java_awt_dnd_DropTargetAdapter__
#define __java_awt_dnd_DropTargetAdapter__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace dnd
      {
          class DropTargetAdapter;
          class DropTargetDragEvent;
          class DropTargetDropEvent;
          class DropTargetEvent;
      }
    }
  }
}

class java::awt::dnd::DropTargetAdapter : public ::java::lang::Object
{

public:
  DropTargetAdapter();
  virtual void dragEnter(::java::awt::dnd::DropTargetDragEvent *);
  virtual void dragOver(::java::awt::dnd::DropTargetDragEvent *);
  virtual void dropActionChanged(::java::awt::dnd::DropTargetDragEvent *);
  virtual void dragExit(::java::awt::dnd::DropTargetEvent *);
  virtual void drop(::java::awt::dnd::DropTargetDropEvent *) = 0;
  static ::java::lang::Class class$;
};

#endif // __java_awt_dnd_DropTargetAdapter__
