1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_dbms_mysql_OutputBind_hpp
10 #define anna_dbms_mysql_OutputBind_hpp
12 #include <anna/core/DataBlock.hpp>
14 #include <anna/dbms/OutputBind.hpp>
15 #include <anna/dbms/DatabaseException.hpp>
17 #include <anna/dbms.mysql/BaseBind.hpp>
29 class OutputBind : public dbms::OutputBind, public BaseBind {
31 OutputBind(const char* name, dbms::Data& data);
46 void decodeLongBlob(dbms::Data&) const throw(RuntimeException, dbms::DatabaseException);
47 void decodeDate(dbms::Data&) throw();
49 static unsigned char asByte(const char hex)
51 return (hex >= '0' && hex <= '9') ? (hex - '0') : ((hex - 'A') + 0x0a);
54 /* Funciones virtuales puras */
55 void decode() const throw(RuntimeException);
56 void prepare(anna::dbms::Statement*, anna::dbms::Connection*, const int pos) throw(RuntimeException);
57 void release(anna::dbms::Statement*) throw() {;}
58 void do_write(const dbms::LongBlock&) const throw(RuntimeException, dbms::DatabaseException);
60 friend class Statement;