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

#ifndef __java_rmi_MarshalledObject__
#define __java_rmi_MarshalledObject__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace rmi
    {
        class MarshalledObject;
    }
  }
}

class java::rmi::MarshalledObject : public ::java::lang::Object
{

public:
  MarshalledObject(::java::lang::Object *);
  jboolean equals(::java::lang::Object *);
  ::java::lang::Object * get();
  jint hashCode();
private:
  static const jlong serialVersionUID = 8988374069173025854LL;
public: // actually package-private
  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objBytes;
  JArray< jbyte > * locBytes;
  jint hash;
public:
  static ::java::lang::Class class$;
};

#endif // __java_rmi_MarshalledObject__
