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

#ifndef __org_omg_CORBA_ACTIVITY_REQUIRED__
#define __org_omg_CORBA_ACTIVITY_REQUIRED__

#pragma interface

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

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

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

#endif // __org_omg_CORBA_ACTIVITY_REQUIRED__
