Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-02-05 00:09:22 +0000
committerStijn Buys <ingar@osirion.org>2008-02-05 00:09:22 +0000
commitcf61370df80de6dc659dbd9b803c973b300c1b4c (patch)
tree7eba1f644a96a3269a63f447d3ce9676b854819b /src/core/cvar.cc
parentad340b52a0a4e86edd5b54b01d74aac731a6a812 (diff)
don't use cvar
Diffstat (limited to 'src/core/cvar.cc')
-rw-r--r--src/core/cvar.cc58
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