summaryrefslogtreecommitdiff
path: root/src/data/con.cpp
blob: b3aebcc9f250022b769f84744105c94edc6456c2 (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