+++ /dev/null
-// ANNA - Anna is Not Nothingness Anymore //
-// //
-// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
-// //
-// See project site at http://redmine.teslayout.com/projects/anna-suite //
-// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
-
-
-#ifndef anna_dbms_mysql_Connection_hpp
-#define anna_dbms_mysql_Connection_hpp
-
-
-#include <anna/dbms/Connection.hpp>
-#include <anna/dbms/DatabaseException.hpp>
-
-#include <anna/dbms.mysql/forward.hpp>
-
-namespace anna {
-
-namespace dbms {
-
-class Database;
-
-namespace mysql {
-
-class Database;
-
-/**
- Clase que modela la conexion con el RDBMS MySQL (tm).
-
- Esta clase no puede usarse directamente, ya que la capa ANNA.dbms obliga a que todas las peticiones
- se hagan atraves de una instancia anna::dbms::Connection.
-
- Para obtener una conexion a una determinada base de datos habra que instanciar dicha base de datos
- e invocar al metodo createConnection. Independientemente del tipo de conexion particular que la
- base de datos retorne, debemos asignarlo a un puntero de tipo anna::dbms::Connection.
-*/
-class Connection : public dbms::Connection {
-public:
- /**
- Devuelve una cadena con la informacion referente a esta instancia.
- @return Una cadena con la informacion referente a esta instancia.
- */
- std::string asString() const throw();
-
- /**
- Operador de conversion.
- \return El puntero al entorno asociado a esta base de datos.
- */
- operator st_mysql*() throw() { return a_mysql; }
-
-private:
- Database& a_mysqlDatabase;
- st_mysql* a_mysql;
-
- Connection(Database& database, const std::string& name, const char* user, const char* password);
-
- bool isAvailable() const throw(RuntimeException) { return a_mysql != NULL; }
-
- void do_commit() throw(RuntimeException, DatabaseException);
- void do_rollback() throw();
- void open() throw(DatabaseException);
- void close() throw();
-
- friend class anna::dbms::mysql::Database;
-};
-
-}
-}
-}
-
-#endif