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

#ifndef __java_awt_dnd_DnDConstants__
#define __java_awt_dnd_DnDConstants__

#pragma interface

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

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

  DnDConstants();
public:
  static const jint ACTION_NONE = 0;
  static const jint ACTION_COPY = 1;
  static const jint ACTION_MOVE = 2;
  static const jint ACTION_COPY_OR_MOVE = 3;
  static const jint ACTION_LINK = 1073741824;
  static const jint ACTION_REFERENCE = 1073741824;
  static ::java::lang::Class class$;
};

#endif // __java_awt_dnd_DnDConstants__
