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

#ifndef __org_omg_PortableServer_DynamicImplementation__
#define __org_omg_PortableServer_DynamicImplementation__

#pragma interface

#include <org/omg/PortableServer/Servant.h>
extern "Java"
{
  namespace org
  {
    namespace omg
    {
      namespace CORBA
      {
          class ServerRequest;
      }
      namespace PortableServer
      {
          class DynamicImplementation;
      }
    }
  }
}

class org::omg::PortableServer::DynamicImplementation : public ::org::omg::PortableServer::Servant
{

public:
  DynamicImplementation();
  virtual void invoke(::org::omg::CORBA::ServerRequest *) = 0;
  static ::java::lang::Class class$;
};

#endif // __org_omg_PortableServer_DynamicImplementation__
