Besoin de votre avis sur classe qui sauvegarde des valeurs
Bonjour, j'ai récemment développé une classe qui a pour tâche de sauvegarder des variables données telles-quel. Je m'inspire un peu de l'idée des mises en veille prolongée (ou hibernation sous Linux).
Je me demandais donc si une classe de ce genre peut-être réellement utiles, et je me réfère donc à votre avis.
Aperçu de la classe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class memever__{
//...
public:
int LoadFile(char *Filename); //charge le fichier contenant les variables et leurs valeurs
int SaveFile(char *Filename); //enregistre le fichier
int ClearListeVar(void); //nettoie la liste des variables...
int DeleteVar(int id); //supprime une variable d'id donnée
void* GetVariable(int id); //retourne un pointeur sur la variable d'id donnée (déjà alloué pour ceux qui sont depuis un fichier)
template <typename T>
T* SetVariable(int id, T* Ptr, size_t Nb); //Ajoute/Modifie une variable d'id donnée. Nb: pour les tableau (mettre à 1 pour simple variable)
memever__(char *Filename);
memever__();
}memever; |
Comme on peut le remarquer, je me base sur un système d'id pour identifier les variables de sorte que:
Code:
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
|
#define TEST_SAVE
int main(void){
#ifdef TEST_SAVE
int *i = new int[4];
i[0] = 6;
i[1] = 10;
i[2] = 17;
i[3] = 23;
memever.SetVariable(2, i, 4);
char *c="ma mere est la plus belle de toutes...";
memever.SetVariable(1, c, strlen(c));
memever.SaveFile("test.mem");
#else
memever.LoadFile("test.mem");
int *i =(int*) memever.GetVariable(2);
char *c =(char*)memever.GetVariable(1);
printf("c = '%s'\n", c);
printf("i[0] = %d\n", i[0]);
printf("i[1] = %d\n", i[1]);
printf("i[2] = %d\n", i[2]);
printf("i[3] = %d\n", i[3]);
#endif
return 0;
} |
Vos avis?