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

#ifndef __gnu_CORBA_Poa_gnuServantRetentionPolicy__
#define __gnu_CORBA_Poa_gnuServantRetentionPolicy__

#pragma interface

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

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

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

#endif // __gnu_CORBA_Poa_gnuServantRetentionPolicy__
