#ifndef __VARIABLES_H__ #define __VARIABLES_H__ #ifdef __cplusplus #include #include "String.h" #include "Handle.h" #include "Exceptions.h" /* * Cette classe nous sert a gérer les variables transportées par les formulaires. * Elle sera initialisée dans la classe HttpServ et sera passée en paramètre aux * actions. Le constructeur indique le nombre de variables qu'il faut allouer. * * SetTo sert à définir une variable suivant son numéro. On indique la string sous * la forme "Nom=Valeur". * * L'opérateur [] est surchargé deux fois et permet: * - si on indique un int, de récupérer la variable sous la forme "Nom=Valeur" * - si on indique une string, de récupérer la valeur de la variable. * * La fonction Dump sert à sortir toutes les variables en un formulaire HTML, de * sorte à faire transiter les variables d'un formulaire à l'autre. Toutes les actions * implémentées ici possèdant des boutons font appel à cette méthode. En particulier, * les formulaires en cascadent cumulent leurs variables. * * GetNb sert à lire le nombre de variables stockés dans l'instance. */ class Variables : public Base { public: Variables(int = 0); ~Variables(); void SetTo(int i, const String &); String operator[](const String &); String operator[](int i); void Dump(Handle *); int GetNb(); void Add(const String &); void Del(int); void Del(const String &); private: vector Vars; int nbvars; }; #else #error This only works with a C++ compiler #endif #endif