Files
rk35xx-android14/external/openscreen/util/json/json_value.cc
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

44 lines
1.3 KiB
C++

// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "util/json/json_value.h"
namespace openscreen {
absl::optional<int> MaybeGetInt(const Json::Value& message,
const char* first,
const char* last) {
const Json::Value* value = message.find(first, last);
absl::optional<int> result;
if (value && value->isInt()) {
result = value->asInt();
}
return result;
}
absl::optional<absl::string_view> MaybeGetString(const Json::Value& message) {
if (message.isString()) {
const char* begin = nullptr;
const char* end = nullptr;
message.getString(&begin, &end);
if (begin && end >= begin) {
return absl::string_view(begin, end - begin);
}
}
return absl::nullopt;
}
absl::optional<absl::string_view> MaybeGetString(const Json::Value& message,
const char* first,
const char* last) {
const Json::Value* value = message.find(first, last);
absl::optional<absl::string_view> result;
if (value && value->isString()) {
return MaybeGetString(*value);
}
return result;
}
} // namespace openscreen