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

#ifndef __gnu_classpath_jdwp_transport_JdwpPacket__
#define __gnu_classpath_jdwp_transport_JdwpPacket__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
      namespace jdwp
      {
        namespace transport
        {
          class JdwpPacket;
        }
      }
    }
  }
}

class gnu::classpath::jdwp::transport::JdwpPacket : public ::java::lang::Object
{
public:
  JdwpPacket ();
  JdwpPacket (::gnu::classpath::jdwp::transport::JdwpPacket *);
  virtual jint getId () { return _id; }
  virtual void setId (jint);
  virtual jbyte getFlags () { return _flags; }
  virtual void setFlags (jbyte);
  virtual jbyteArray getData () { return _data; }
  virtual void setData (jbyteArray);
  virtual jint getLength ();
public:  // actually protected
  virtual jint myFromBytes (jbyteArray, jint) = 0;
public:
  static ::gnu::classpath::jdwp::transport::JdwpPacket *fromBytes (jbyteArray);
public:  // actually protected
  virtual void myWrite (::java::io::DataOutputStream *) = 0;
public:
  virtual void write (::java::io::DataOutputStream *);
public:  // actually protected
  static jint _last_id;
  static const jint JDWP_FLAG_REPLY = 128L;
  static const jint MINIMUM_SIZE = 9L;
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  _id;
  jbyte _flags;
  jbyteArray _data;
public:

  static ::java::lang::Class class$;
};

#endif /* __gnu_classpath_jdwp_transport_JdwpPacket__ */
