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

#ifndef __java_sql_DriverManager__
#define __java_sql_DriverManager__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace sql
    {
        class Connection;
        class Driver;
        class DriverManager;
    }
  }
}

class java::sql::DriverManager : public ::java::lang::Object
{

  DriverManager();
public:
  static ::java::io::PrintWriter * getLogWriter();
  static void setLogWriter(::java::io::PrintWriter *);
  static ::java::sql::Connection * getConnection(::java::lang::String *, ::java::util::Properties *);
  static ::java::sql::Connection * getConnection(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  static ::java::sql::Connection * getConnection(::java::lang::String *);
  static ::java::sql::Driver * getDriver(::java::lang::String *);
  static void registerDriver(::java::sql::Driver *);
  static void deregisterDriver(::java::sql::Driver *);
  static ::java::util::Enumeration * getDrivers();
  static void setLoginTimeout(jint);
  static jint getLoginTimeout();
  static void setLogStream(::java::io::PrintStream *);
  static ::java::io::PrintStream * getLogStream();
  static void println(::java::lang::String *);
private:
  static ::java::io::PrintStream * log_stream;
  static ::java::io::PrintWriter * log_writer;
  static jint login_timeout;
  static ::java::util::Vector * drivers;
public:
  static ::java::lang::Class class$;
};

#endif // __java_sql_DriverManager__
