-
Notifications
You must be signed in to change notification settings - Fork 0
/
DirectorioDao.h
117 lines (94 loc) · 2.56 KB
/
DirectorioDao.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/************************************************************************
DirectorioDao.h
**************************************************************************/
#ifndef DIRECTORIODAO_H
#define DIRECTORIODAO_H
#include "Motor.h"
#include <string>
#include "Dao.h"
#include "Directorio.h"
#include "ArchivoRegistros.h"
#include "ArchivoRegistrosVariables.h"
/**
* class DirectorioDao
*/
class DirectorioDao : public Dao
{
private:
ArchivoRegistros* managerFixedReg;
ArchivoRegistrosVariables* managerRegVars;
Campo* sigLibre;
Campo* campoId;
Campo* campoRuta;
vector<Campo> campos;
Registro* reg;
public:
/**
* Empty Constructor
*/
DirectorioDao ( );
/**
* Empty Destructor
*/
virtual ~DirectorioDao ( );
/**
* Busca en el medio de almacenamiento la entidad recibida por parametro segun su
* PK y la devuelve.
* @param entidad
*/
bool get (Almacenable* entidad );
/**
* Busca en el medio de almacenamiento la entidad recibida por parametro
* la devuelve. Si no existe, o si existe pero fue eliminada, devuelve false.
* @param entidad
*/
bool get (Almacenable* entidad, bool &valido );
/**
* Da de alta en el medio de almacenamiento la entidad recibida por parametro.
* @param entidad
*/
void alta (Almacenable* entidad );
/**
* Modifica la entidad ya existente sobreescribiendo sus datos con los pasados
* en entidad
* @param entidad La entidad a modificar, debe tener seteado el PK
*/
bool modificacion (Almacenable* entidad );
/**
* Da de baja en el medio de almacenamiento la entidad recibida por parametro.
* @param entidad
*/
void baja (Almacenable* entidad );
/**
*
* @post : Devuelve una lista de Almacenables.
* @param lista de Almacenables
*/
void getAlmacenables (list<Almacenable*>* lista);
/**
* Procesa la estructura administrativa del archivo en el medio de almacenamiento
* cargando la lista de libres asociada.
*/
void levantarListaLibres();
/**
* Actualiza el encadenamiento de lista de libres en
*/
void actualizarEncadenamiento();
/**
* Desencripta el archivo de variables asociado
*/
void inicializarVariables();
/**
* Encripta el archivos variables asociado
*/
void protegerVariables();
/**
* Devuelve el tamano del registro que administra.
*/
int obtenerTamanoRegistro();
/**
* Devuelve el registro que administra.
*/
Registro* getRegistro();
};
#endif // DIRECTORIODAO_H