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

#ifndef __gnu_java_rmi_RMIMarshalledObjectInputStream__
#define __gnu_java_rmi_RMIMarshalledObjectInputStream__

#pragma interface

#include <gnu/java/rmi/server/RMIObjectInputStream.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace rmi
      {
          class RMIMarshalledObjectInputStream;
      }
    }
  }
}

class gnu::java::rmi::RMIMarshalledObjectInputStream : public ::gnu::java::rmi::server::RMIObjectInputStream
{

public:
  RMIMarshalledObjectInputStream(JArray< jbyte > *, JArray< jbyte > *);
public: // actually protected
  virtual ::java::lang::Object * getAnnotation();
private:
  ::java::io::ObjectInputStream * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::RMIObjectInputStream)))) locStream;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_rmi_RMIMarshalledObjectInputStream__
