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

#ifndef __org_omg_CORBA_INV_FLAG__
#define __org_omg_CORBA_INV_FLAG__

#pragma interface

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

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

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

#endif // __org_omg_CORBA_INV_FLAG__
