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

#ifndef __gnu_CORBA_Poa_gnuIdAssignmentPolicy__
#define __gnu_CORBA_Poa_gnuIdAssignmentPolicy__

#pragma interface

#include <gnu/CORBA/_PolicyImplBase.h>
extern "Java"
{
  namespace gnu
  {
    namespace CORBA
    {
      namespace Poa
      {
          class gnuIdAssignmentPolicy;
      }
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace PortableServer
      {
          class IdAssignmentPolicyValue;
      }
    }
  }
}

class gnu::CORBA::Poa::gnuIdAssignmentPolicy : public ::gnu::CORBA::_PolicyImplBase
{

public:
  gnuIdAssignmentPolicy(::org::omg::PortableServer::IdAssignmentPolicyValue *);
  virtual ::org::omg::PortableServer::IdAssignmentPolicyValue * value();
private:
  static const jlong serialVersionUID = 1LL;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_CORBA_Poa_gnuIdAssignmentPolicy__
