1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
// ---------------------------------------------------------
//
// Author: Tony Darugar, tdarugar@binevolve.com
//
// $Id: sql-manager.cc,v 1.5 1999/06/10 02:50:11 tdarugar Exp $
//
// ---------------------------------------------------------
#include <stdio.h>
#include "sql-manager.h"
// ---------------------------------------------------------
Manager_sql::Manager_sql() {
nConnections=0;
for (int i=0; i < maxConns; i++) {
conns[i] = NULL;
}
}
// ---------------------------------------------------------
int
Manager_sql::findFreeConn() {
for (int i=0; i < maxConns; i++) {
if (conns[i] == NULL) return i;
}
return -1;
}
// ---------------------------------------------------------
char *
Manager_sql::getErrorMsg() {
return errmsg;
}
// ---------------------------------------------------------
int
Manager_sql::connect(int argc, char **argv) {
if (nConnections >= maxConns) return -1;
Sql_mysql *newconn = new Sql_mysql(argc, argv);
if (!newconn->isConnected()) {
errmsg = newconn->getErrorMsg();
delete newconn;
return -1;
}
int connNum = findFreeConn();
conns[connNum] = newconn;
nConnections++;
return (connNum);
}
// ---------------------------------------------------------
int
Manager_sql::disconnect(int c) {
if (!conns[c]) return 0;
delete conns[c];
conns[c] = NULL;
nConnections--;
return 1;
}
|