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

#ifndef __gnu_CORBA_Poa_gnuAdapterActivator__
#define __gnu_CORBA_Poa_gnuAdapterActivator__

#pragma interface

#include <org/omg/CORBA/LocalObject.h>
extern "Java"
{
  namespace gnu
  {
    namespace CORBA
    {
      namespace Poa
      {
          class gnuAdapterActivator;
      }
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace PortableServer
      {
          class POA;
      }
    }
  }
}

class gnu::CORBA::Poa::gnuAdapterActivator : public ::org::omg::CORBA::LocalObject
{

public:
  gnuAdapterActivator();
  virtual jboolean unknown_adapter(::org::omg::PortableServer::POA *, ::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __gnu_CORBA_Poa_gnuAdapterActivator__
