bool PropertyMap::tryGetProperty(const String8& key, bool& outValue) const { int32_t intValue; if (!tryGetProperty(key, intValue)) { return false; } outValue = intValue; return true; }
bool JSDictionary::getWithUndefinedOrNullCheck(const String& propertyName, String& result) const { ASSERT(isValid()); JSValue value; if (tryGetProperty(propertyName.utf8().data(), value) != PropertyFound || value.isUndefinedOrNull()) return false; result = value.toWTFString(m_exec); return true; }
bool PropertyMap::tryGetProperty(const String8& key, float& outValue) const { String8 stringValue; if (! tryGetProperty(key, stringValue) || stringValue.length() == 0) { return false; } char* end; float value = strtof(stringValue.string(), & end); if (*end != '\0') { ALOGW("Property key '%s' has invalid value '%s'. Expected a float.", key.string(), stringValue.string()); return false; } outValue = value; return true; }
bool PropertyMap::tryGetProperty(const String8& key, int32_t& outValue) const { String8 stringValue; if (! tryGetProperty(key, stringValue) || stringValue.length() == 0) { return false; } char* end; int value = strtol(c_str(stringValue), & end, 10); if (*end != '\0') { ALOGW("Property key '%s' has invalid value '%s'. Expected an integer.", c_str(key), c_str(stringValue)); return false; } outValue = value; return true; }