summaryrefslogtreecommitdiff
path: root/src/data/con.cpp
blob: 316776b75299c9e021afc146a34295d3803b0aed (plain)
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
#include "con.h"

using namespace std;

#ifdef DATABASE
#ifndef CON_CPP
#define CON_CPP

con::con()
{
  p_mysql = mysql_init(NULL);

  while ( !p_mysql )
    {
      wrap::system_message( MYSQLE1 );
      usleep( 30000000 );
      mysql_init(p_mysql);
    }

  while ( mysql_real_connect(
            p_mysql,
            (const char*)wrap::CONF->get_elem("chat.database.serverhost").c_str(),
            (const char*)wrap::CONF->get_elem("chat.database.user").c_str(),
            (const char*)wrap::CONF->get_elem("chat.database.password").c_str(),
            (const char*)wrap::CONF->get_elem("chat.database.dbname").c_str(),
            tool::string2int(wrap::CONF->get_elem("chat.database.port")),
            NULL, 0 ) == NULL )
    {
      wrap::system_message( MYSQLQU + string( mysql_error(p_mysql) ) );
      usleep( 30000000 );
    }
}

con::~con()
{
  if ( p_mysql )
    {
      if (mysql_ping( p_mysql ) != 0)
        mysql_close( p_mysql );
    }
}

#endif
#endif