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

#ifndef __gnu_java_net_EmptyX509TrustManager__
#define __gnu_java_net_EmptyX509TrustManager__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
          class EmptyX509TrustManager;
      }
    }
  }
  namespace java
  {
    namespace security
    {
      namespace cert
      {
          class X509Certificate;
      }
    }
  }
}

class gnu::java::net::EmptyX509TrustManager : public ::java::lang::Object
{

public:
  EmptyX509TrustManager();
  virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
  virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
  virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers();
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_EmptyX509TrustManager__
