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

#ifndef __javax_naming_LinkRef__
#define __javax_naming_LinkRef__

#pragma interface

#include <javax/naming/Reference.h>
extern "Java"
{
  namespace javax
  {
    namespace naming
    {
        class LinkRef;
        class Name;
    }
  }
}

class javax::naming::LinkRef : public ::javax::naming::Reference
{

public:
  LinkRef(::javax::naming::Name *);
  LinkRef(::java::lang::String *);
  virtual ::java::lang::String * getLinkName();
private:
  static const jlong serialVersionUID = -5386290613498931298LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_naming_LinkRef__
