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

#ifndef __javax_net_ssl_SSLSessionBindingEvent__
#define __javax_net_ssl_SSLSessionBindingEvent__

#pragma interface

#include <java/util/EventObject.h>
extern "Java"
{
  namespace javax
  {
    namespace net
    {
      namespace ssl
      {
          class SSLSession;
          class SSLSessionBindingEvent;
      }
    }
  }
}

class javax::net::ssl::SSLSessionBindingEvent : public ::java::util::EventObject
{

public:
  SSLSessionBindingEvent(::javax::net::ssl::SSLSession *, ::java::lang::String *);
  virtual ::java::lang::String * getName();
  virtual ::javax::net::ssl::SSLSession * getSession();
private:
  static const jlong serialVersionUID = 3989172637106345LL;
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) name;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_net_ssl_SSLSessionBindingEvent__
