/* * Baltisot * Copyright (C) 1999-2007 Nicolas "Pixel" Noble * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "Variables.h" #include "HttpServ.h" #include "BString.h" Variables::Variables(int nb) : Vars(nb), nbvars(nb) { } Variables::Variables(const Variables & v) : nbvars(v.nbvars) { for (int i = 0; i < nbvars; i++) { Vars.push_back(v.Vars[i]); } } Variables::~Variables() { } void Variables::SetTo(int i, const String & s) { Vars[i] = s; } String Variables::operator[](const String & name) { int i; String r; for (i = 0; i < nbvars; i++) { if (Vars[i].strstr(name) == 0) break; } if (i == nbvars) { r = ""; } else { r = Vars[i].extract(Vars[i].strchr('=') + 1); } return r; } String Variables::operator[](int i) { return Vars[i]; } int Variables::GetNb(void) { return nbvars; } void Variables::Dump(Handle * h, const String & format) { int i, eqp; String Vn, Vv; for (i = 0; i < nbvars; i++) { eqp = Vars[i].strchr('='); Vn = Vars[i].extract(0, eqp - 1); Vv = Vars[i].extract(eqp + 1); if (format == "") { (*h) << "" << endnl; } else { // Use format here... // **FIXME** } } } void Variables::Add(const String & s) { nbvars++; Vars.push_back(s); } void Variables::Del(int i) { nbvars--; Vars.erase(Vars.begin() + i, Vars.begin() + i); } void Variables::Del(const String & name) { int i; for (i = 0; i < nbvars; i++) { if (Vars[i].strstr(name) == 0) break; } if (i != nbvars) { Del(i); } }