Remove operation help.
[anna.git] / include / anna / dbos / Recorder.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
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 //
7
8
9 #ifndef anna_dbos_Recorder_hpp
10 #define anna_dbos_Recorder_hpp
11
12 #include <anna/dbos/Accesor.hpp>
13
14 namespace anna {
15
16 namespace dbos {
17
18 /**
19    Interfaz que deben cumplir los objetos encargados de grabar el objeto en el medio fisico,
20    que normalmente sera alguna base de datos.
21 */
22 class Recorder : public Accesor {
23 public:
24   /**
25      Metodo de debemos re-escribir para devolver el nombre completo del selector de recursos.
26      Para evitar ambigüedades este nombre deberia incluir la lista completa de \em namespaces
27      a la que pertenece la clase.
28      \return Una cadena con el nombre de este selector.
29   */
30   virtual const char* getClassName() const throw() { return "anna::dbos::Recorder"; }
31
32 protected:
33   /**
34      Constructor.
35      \param database Base de datos asociada a este cargador y que deberia servir para
36      obtener los datos de un objeto. Debe tener la misma disponibilidad que este cargador.
37      \param id Identificador de este accesor.
38   */
39   Recorder(dbms::Database& database, const Id id = 0) : Accesor(database, id) {;}
40
41 private:
42   Index getIndex() const throw() { return 0; }   // No se usa
43 };
44
45 }
46 }
47
48 #endif
49
50
51