summaryrefslogtreecommitdiff
path: root/include/Variables.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/Variables.h')
-rw-r--r--include/Variables.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/Variables.h b/include/Variables.h
new file mode 100644
index 0000000..955cf62
--- /dev/null
+++ b/include/Variables.h
@@ -0,0 +1,46 @@
+#ifndef __VARIABLES_H__
+#define __VARIABLES_H__
+#ifdef __cplusplus
+
+#include "Exceptions.h"
+#include "String.h"
+#include "Handle.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);
+ ~Variables();
+ void SetTo(int i, const String &);
+ String operator[](const String &);
+ String operator[](int i);
+ void Dump(Handle *);
+ int GetNb();
+ private:
+ String * Vars;
+ int nbvars;
+};
+
+#else
+#error This only works with a C++ compiler
+#endif
+#endif