diff options
author | Stijn Buys <ingar@osirion.org> | 2008-02-05 00:09:22 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-02-05 00:09:22 +0000 |
commit | cf61370df80de6dc659dbd9b803c973b300c1b4c (patch) | |
tree | 7eba1f644a96a3269a63f447d3ce9676b854819b /src/core/cvar.cc | |
parent | ad340b52a0a4e86edd5b54b01d74aac731a6a812 (diff) |
don't use cvar
Diffstat (limited to 'src/core/cvar.cc')
-rw-r--r-- | src/core/cvar.cc | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/src/core/cvar.cc b/src/core/cvar.cc index ef3f06c..21105b4 100644 --- a/src/core/cvar.cc +++ b/src/core/cvar.cc @@ -4,20 +4,20 @@ the terms of the GNU General Public License version 2 */ -#include "cvar.h" +#include "core/cvar.h" +#include "sys/sys.h" + #include <map> +#include <iostream> +#include <string> +#include <sstream> +#include <iomanip> -namespace core { -Cvar_t::Cvar_t(const char *cvarname, unsigned int cvarflags) -{ - cvar_name.assign(cvarname); - cvar_flags = cvarflags; -} +namespace core { -Cvar_t::Cvar_t(const std::string &cvarname, unsigned int cvarflags) +Cvar_t::Cvar_t(unsigned int cvarflags) { - cvar_name = cvarname; cvar_flags = cvarflags; } @@ -46,14 +46,30 @@ namespace cvar std::map<std::string, Cvar> registry; -Cvar set(const char *cvarname, const char *value) +Cvar set(const char *cvarname, const char *cvarvalue, int cvarflags) +{ + Cvar c = registry[std::string(cvarname)]; + if (c) { + con_debug << "cvar::set " << cvarname << " already exist with value " << cvarvalue << std::endl; + } else { + con_debug << "cvar::set " << cvarname << " with value " << cvarvalue << std::endl; + c = new Cvar_t(cvarflags); + registry[std::string(cvarname)] = c; + (*c) = cvarvalue; + } + return c; +} + +Cvar set(const char *cvarname, int cvarvalue, int cvarflags) { Cvar c = registry[std::string(cvarname)]; - if (!c) { - // not found, create a new variable and assign value - c = new Cvar_t(cvarname); + if (c) { + con_debug << "cvar::set " << cvarname << " already exist with value " << cvarvalue << std::endl; + } else { + con_debug << "cvar::set " << cvarname << " with value " << cvarvalue << std::endl; + c = new Cvar_t(cvarflags); registry[std::string(cvarname)] = c; - (*c) = value; + (*c) = cvarvalue; } return c; } @@ -62,6 +78,7 @@ void unset(const char *cvarname) { Cvar c = registry[std::string(cvarname)]; if (c) { + con_debug << "cvar::unset " << cvarname << std::endl; registry.erase(std::string(cvarname)); delete c; } @@ -71,6 +88,7 @@ void unset(const std::string &cvarname) { Cvar c = registry[cvarname]; if (c) { + con_debug << "cvar::unset " << cvarname << std::endl; registry.erase(cvarname); delete c; } @@ -85,7 +103,17 @@ Cvar find(const char *cvarname) { return registry[std::string(cvarname)]; } - + +void list() +{ + std::map<std::string, Cvar>::iterator registryiterator; + for (registryiterator = registry.begin(); registryiterator != registry.end(); registryiterator++) { + con_print << std::setw(4) << (*registryiterator).second->flags() + << " " << (*registryiterator).first + << " " << (*registryiterator).second->value() << std::endl; + } +} + } // namespace cvar } // namespace core |