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

#ifndef __gnu_CORBA_Poa_ServantDelegateImpl__
#define __gnu_CORBA_Poa_ServantDelegateImpl__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace CORBA
    {
      namespace Poa
      {
          class ServantDelegateImpl;
          class gnuPOA;
          class gnuServantObject;
      }
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace CORBA
      {
          class ORB;
          class Object;
      }
      namespace PortableServer
      {
          class POA;
          class Servant;
      }
    }
  }
}

class gnu::CORBA::Poa::ServantDelegateImpl : public ::java::lang::Object
{

public:
  ServantDelegateImpl(::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *, JArray< jbyte > *);
  virtual jboolean is_a(::org::omg::PortableServer::Servant *, ::java::lang::String *);
  virtual ::org::omg::PortableServer::POA * default_POA(::org::omg::PortableServer::Servant *);
  virtual ::org::omg::CORBA::ORB * orb(::org::omg::PortableServer::Servant *);
  virtual ::org::omg::CORBA::Object * this_object(::org::omg::PortableServer::Servant *);
  virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::PortableServer::Servant *);
  virtual JArray< jbyte > * object_id(::org::omg::PortableServer::Servant *);
  virtual jboolean non_existent(::org::omg::PortableServer::Servant *);
  virtual ::org::omg::PortableServer::POA * poa(::org::omg::PortableServer::Servant *);
public: // actually package-private
  virtual void same(::org::omg::PortableServer::Servant *);
  ::org::omg::PortableServer::Servant * __attribute__((aligned(__alignof__( ::java::lang::Object)))) servant;
  JArray< jbyte > * servant_id;
  ::gnu::CORBA::Poa::gnuPOA * poa__;
  ::gnu::CORBA::Poa::gnuServantObject * object;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_CORBA_Poa_ServantDelegateImpl__
