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

#ifndef __gnu_javax_rmi_CORBA_CorbaOutput__
#define __gnu_javax_rmi_CORBA_CorbaOutput__

#pragma interface

#include <java/io/ObjectOutputStream.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace rmi
      {
        namespace CORBA
        {
            class CorbaOutput;
            class RmiUtilities;
        }
      }
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace CORBA_2_3
      {
        namespace portable
        {
            class OutputStream;
        }
      }
    }
  }
}

class gnu::javax::rmi::CORBA::CorbaOutput : public ::java::io::ObjectOutputStream
{

public:
  CorbaOutput(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::gnu::javax::rmi::CORBA::RmiUtilities *);
  virtual void close();
  virtual void flush();
  virtual void write(JArray< jbyte > *, jint, jint);
  virtual void write(JArray< jbyte > *);
  virtual void write(jint);
  virtual void writeBoolean(jboolean);
  virtual void writeByte(jint);
  virtual void writeBytes(::java::lang::String *);
  virtual void writeChar(jint);
  virtual void writeChars(::java::lang::String *);
  virtual void writeDouble(jdouble);
  virtual void writeFloat(jfloat);
  virtual void writeInt(jint);
  virtual void writeLong(jlong);
public: // actually protected
  virtual void writeObjectOverride(::java::lang::Object *);
public:
  virtual void writeShort(jint);
  virtual void writeUTF(::java::lang::String *);
  virtual void defaultWriteObject();
public: // actually package-private
  ::org::omg::CORBA_2_3::portable::OutputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectOutputStream)))) stream;
  ::gnu::javax::rmi::CORBA::RmiUtilities * util;
  ::java::lang::Object * current;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_rmi_CORBA_CorbaOutput__
