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

#ifndef __org_omg_CORBA_BAD_TYPECODE__
#define __org_omg_CORBA_BAD_TYPECODE__

#pragma interface

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

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

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

#endif // __org_omg_CORBA_BAD_TYPECODE__
