Revert "Remove mysql and oracle resources for anna-ericsson project"
[anna.git] / include / anna / dbos / Recorder.hpp
diff --git a/include/anna/dbos/Recorder.hpp b/include/anna/dbos/Recorder.hpp
new file mode 100644 (file)
index 0000000..696e665
--- /dev/null
@@ -0,0 +1,51 @@
+// 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_dbos_Recorder_hpp
+#define anna_dbos_Recorder_hpp
+
+#include <anna/dbos/Accesor.hpp>
+
+namespace anna {
+
+namespace dbos {
+
+/**
+   Interfaz que deben cumplir los objetos encargados de grabar el objeto en el medio fisico,
+   que normalmente sera alguna base de datos.
+*/
+class Recorder : public Accesor {
+public:
+  /**
+     Metodo de debemos re-escribir para devolver el nombre completo del selector de recursos.
+     Para evitar ambigüedades este nombre deberia incluir la lista completa de \em namespaces
+     a la que pertenece la clase.
+     \return Una cadena con el nombre de este selector.
+  */
+  virtual const char* getClassName() const throw() { return "anna::dbos::Recorder"; }
+
+protected:
+  /**
+     Constructor.
+     \param database Base de datos asociada a este cargador y que deberia servir para
+     obtener los datos de un objeto. Debe tener la misma disponibilidad que este cargador.
+     \param id Identificador de este accesor.
+  */
+  Recorder(dbms::Database& database, const Id id = 0) : Accesor(database, id) {;}
+
+private:
+  Index getIndex() const throw() { return 0; }   // No se usa
+};
+
+}
+}
+
+#endif
+
+
+