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

#ifndef __org_omg_CORBA_MARSHAL__
#define __org_omg_CORBA_MARSHAL__

#pragma interface

#include <org/omg/CORBA/SystemException.h>
extern "Java"
{
  namespace org
  {
    namespace omg
    {
      namespace CORBA
      {
          class CompletionStatus;
          class MARSHAL;
      }
    }
  }
}

class org::omg::CORBA::MARSHAL : public ::org::omg::CORBA::SystemException
{

public:
  MARSHAL(::java::lang::String *);
  MARSHAL();
  MARSHAL(jint, ::org::omg::CORBA::CompletionStatus *);
  MARSHAL(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *);
private:
  static const jlong serialVersionUID = 7416408250336395546LL;
public:
  static ::java::lang::Class class$;
};

#endif // __org_omg_CORBA_MARSHAL__
