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

#ifndef __gnu_CORBA_Poa_gnuIdUniquenessPolicy__
#define __gnu_CORBA_Poa_gnuIdUniquenessPolicy__

#pragma interface

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

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

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

#endif // __gnu_CORBA_Poa_gnuIdUniquenessPolicy__
