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

#ifndef __org_omg_CORBA_TIMEOUT__
#define __org_omg_CORBA_TIMEOUT__

#pragma interface

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

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

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

#endif // __org_omg_CORBA_TIMEOUT__
