int JsonObject::integer(const QString& key) const { double d = number(key); int integer = (int)d; if ((double)integer != d) wrongType("integer", key); return integer; }
std::string ConfigValue::getString(const char* def) { wrongType(String); if(def) return std::string(def); else return std::string(); }
bool JsonObject::boolean(const QString& key) const { checkContains(key); QJsonValue value = o.value(key); if ( ! value.isBool()) wrongType("'true' or 'false'", key); return value.toBool(); }
JsonArray JsonObject::array(const QString& key) const { checkContains(key); QJsonValue value = o.value(key); if ( ! value.isArray()) wrongType("array", key); return JsonArray(value.toArray()); }
JsonObject JsonObject::object(const QString& key) const { checkContains(key); QJsonValue value = o.value(key); if ( ! value.isObject()) wrongType("object", key); return JsonObject(value.toObject()); }
double JsonObject::number(const QString& key) const { checkContains(key); QJsonValue value = o.value(key); if ( ! value.isDouble()) wrongType("number", key); return value.toDouble(); }
QString JsonObject::string(const QString& key) const { checkContains(key); QJsonValue value = o.value(key); if ( ! value.isString()) wrongType("string", key); return value.toString(); }
void ConfigValue::setFloat(float val) { wrongType(Float); }
void ConfigValue::setInt(int val) { wrongType(Integer); }
void ConfigValue::setBool(bool val) { wrongType(Bool); }
std::string ConfigValue::getString(const std::string& def) { wrongType(String); return def; }
float ConfigValue::getFloat(float def) { wrongType(Float); return def; }
int ConfigValue::getInt(int def) { wrongType(Integer); return def; }
bool ConfigValue::getBool(bool def) { wrongType(Bool); return def; }
void ConfigValue::setString(const std::string& val) { wrongType(String); }