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

#ifndef __gnu_CORBA_Poa_gnuForwardRequest__
#define __gnu_CORBA_Poa_gnuForwardRequest__

#pragma interface

#include <java/lang/RuntimeException.h>
extern "Java"
{
  namespace gnu
  {
    namespace CORBA
    {
      namespace Poa
      {
          class gnuForwardRequest;
      }
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace CORBA
      {
          class Object;
        namespace portable
        {
            class ObjectImpl;
        }
      }
    }
  }
}

class gnu::CORBA::Poa::gnuForwardRequest : public ::java::lang::RuntimeException
{

public:
  gnuForwardRequest(::org::omg::CORBA::Object *);
private:
  static const jlong serialVersionUID = -1LL;
public:
  ::org::omg::CORBA::portable::ObjectImpl * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) forward_reference;
  jbyte forwarding_code;
  static ::java::lang::Class class$;
};

#endif // __gnu_CORBA_Poa_gnuForwardRequest__
