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

#ifndef __org_omg_CORBA_IMP_LIMIT__
#define __org_omg_CORBA_IMP_LIMIT__

#pragma interface

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

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

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

#endif // __org_omg_CORBA_IMP_LIMIT__
