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

#ifndef __gnu_java_net_DefaultProxySelector__
#define __gnu_java_net_DefaultProxySelector__

#pragma interface

#include <java/net/ProxySelector.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
          class DefaultProxySelector;
      }
    }
  }
  namespace java
  {
    namespace net
    {
        class SocketAddress;
        class URI;
    }
  }
}

class gnu::java::net::DefaultProxySelector : public ::java::net::ProxySelector
{

public:
  DefaultProxySelector();
  void connectFailed(::java::net::URI *, ::java::net::SocketAddress *, ::java::io::IOException *);
  ::java::util::List * select(::java::net::URI *);
private:
  static ::java::util::List * proxies;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_DefaultProxySelector__
