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

#ifndef __javax_naming_ServiceUnavailableException__
#define __javax_naming_ServiceUnavailableException__

#pragma interface

#include <javax/naming/NamingException.h>
extern "Java"
{
  namespace javax
  {
    namespace naming
    {
        class ServiceUnavailableException;
    }
  }
}

class javax::naming::ServiceUnavailableException : public ::javax::naming::NamingException
{

public:
  ServiceUnavailableException();
  ServiceUnavailableException(::java::lang::String *);
private:
  static const jlong serialVersionUID = -4996964726566773444LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_naming_ServiceUnavailableException__
