Mercurial > audlegacy
view libaudacious++/configdb.hh @ 2203:60bd49189fde trunk
[svn] - two realcolour modes for voiceprint vis: Fire and Ice
- removed duplicate code from vis.c
author | marvin |
---|---|
date | Fri, 22 Dec 2006 20:10:22 -0800 |
parents | 6d7381072a45 |
children |
line wrap: on
line source
#ifndef CONFIGDB_HH #define CONFIGDB_HH #include <glib.h> #include <string> #ifdef _AUDACIOUS_CORE # include "libaudacious/configdb.h" #else # include <audacious/configdb.h> #endif namespace Audacious { /* * Usage example: * * { * Audacious::ConfigDB foo; * Audacious::ConfValue *bar; * * bar = foo.GetValue("bar", "filter", Audacious::ConfigDB::String); * std::string filter = bar->asString(); * delete bar; * * foo.SetValue("bar", "filter", "none"); * * foo.RemoveEntry("bar", "baz"); * } */ class ConfValue { public: gchar *strval; gint intval; bool boolval; gfloat floatval; gdouble dblval; std::string asString(void); gint asInt(void); bool asBool(void); gfloat asFloat(void); gdouble asDouble(void); ~ConfValue(void); }; class ConfigDB { private: ConfigDb *db; public: enum ValueType { String, Int, Bool, Float, Double }; ConfValue *GetValue(std::string §ion, std::string &name, ConfigDB::ValueType type); void SetValue(std::string §ion, std::string &name, std::string &value); void SetValue(std::string §ion, std::string &name, gint value); void SetValue(std::string §ion, std::string &name, bool value); void SetValue(std::string §ion, std::string &name, gfloat value); void SetValue(std::string §ion, std::string &name, gdouble value); void RemoveEntry(std::string §ion, std::string &value); ConfigDB(void); ~ConfigDB(void); }; }; #endif