X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdbms%2FFailRecoveryHandler.hpp;fp=include%2Fanna%2Fdbms%2FFailRecoveryHandler.hpp;h=75198549b575ab24f73e63fa469b4d9096daf5bf;hb=78be86969d2f26a9084b0c4af6ce43d5fa4ed3fd;hp=0000000000000000000000000000000000000000;hpb=a3b95648bd76140ef55e0b5941d423eee6c3856f;p=anna.git diff --git a/include/anna/dbms/FailRecoveryHandler.hpp b/include/anna/dbms/FailRecoveryHandler.hpp new file mode 100644 index 0000000..7519854 --- /dev/null +++ b/include/anna/dbms/FailRecoveryHandler.hpp @@ -0,0 +1,44 @@ +// 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_FailRecoveryHandler_hpp +#define anna_dbms_FailRecoveryHandler_hpp + +namespace anna { + +namespace dbms { + +class Database; +class Connection; + +/** + Interfaz que deben cumplir los manejadores que reciben la notificacion de que no ha sido posible + restaurar una determina conexion con la base de datos. +*/ +class FailRecoveryHandler { +protected: + /** + Este metodo debe ser reimplementado para describir las operaciones que vamos a realizar en caso + de no poder recuperar la conexion recibida como parametro. + \param connection Instancia de la conexion en la que hemos detectado el fallo. + \param tryCounter Numero de intentos de recuperacion de la conexion. + + \warning Este metodo se invocara automaticamente desde anna::dbms::Database::recover. + */ + virtual void apply(Connection& connection, const int tryCounter) throw(RuntimeException) = 0; + + friend class Database; +}; + +} +} + +#endif + + +