aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/MySQLConnection.h
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-09-29 08:48:06 +0200
committerMachiavelli <none@none>2010-09-29 08:48:06 +0200
commitbf72fa749ff3beef2ba226862e2a5af7c170fc49 (patch)
treeb8f40bd36b67439e790f20f2b52c0ae864e547b5 /src/server/shared/Database/MySQLConnection.h
parentdcbe4026c327539391e022c69e417928f83c4ab5 (diff)
Core/DBLayer: Store MySQL connection details in a struct and print relevant data in sql driver messages
--HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database/MySQLConnection.h')
-rw-r--r--src/server/shared/Database/MySQLConnection.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h
index d786dd83c01..0c18ad8b7fb 100644
--- a/src/server/shared/Database/MySQLConnection.h
+++ b/src/server/shared/Database/MySQLConnection.h
@@ -18,6 +18,7 @@
#include <ace/Activation_Queue.h>
#include "DatabaseWorkerPool.h"
+#include "Util.h"
#ifndef _MYSQLCONNECTION_H
#define _MYSQLCONNECTION_H
@@ -27,6 +28,33 @@ class PreparedStatement;
class MySQLPreparedStatement;
class PingOperation;
+struct MySQLConnectionInfo
+{
+ MySQLConnectionInfo() {}
+ MySQLConnectionInfo(const std::string& infoString)
+ {
+ Tokens tokens = StrSplit(infoString, ";");
+ Tokens::iterator iter = tokens.begin();
+
+ if (iter != tokens.end())
+ host = *iter++;
+ if (iter != tokens.end())
+ port_or_socket = *iter++;
+ if (iter != tokens.end())
+ user = *iter++;
+ if (iter != tokens.end())
+ password = *iter++;
+ if (iter != tokens.end())
+ database = *iter++;
+ }
+
+ std::string user;
+ std::string password;
+ std::string database;
+ std::string host;
+ std::string port_or_socket;
+};
+
class MySQLConnection
{
template <class T> friend class DatabaseWorkerPool;
@@ -37,7 +65,7 @@ class MySQLConnection
MySQLConnection(ACE_Activation_Queue* queue); //! Constructor for asynchroneous connections.
~MySQLConnection();
- virtual bool Open(const std::string& infoString); //! Connection details.
+ virtual bool Open(const MySQLConnectionInfo& connInfo); //! Connection details.
void Close();
public: