This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhuyujia-webhopper/collector/adg-linux/gen/extensions/common/api/virtual_keyboard.cc
little_stone bd2d50cf35 code update
2022-05-05 20:41:28 +08:00

210 lines
5.9 KiB
C++
Executable File

// Copyright (c) 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.
// GENERATED FROM THE API DEFINITION IN
// extensions/common/api/virtual_keyboard.idl
// DO NOT EDIT.
#include "tools/json_schema_compiler/util.h"
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "extensions/common/api/virtual_keyboard.h"
#include <set>
#include <utility>
using base::UTF8ToUTF16;
namespace extensions {
namespace api {
namespace virtual_keyboard {
//
// Types
//
FeatureRestrictions::FeatureRestrictions()
{}
FeatureRestrictions::~FeatureRestrictions() {}
FeatureRestrictions::FeatureRestrictions(FeatureRestrictions&& rhs)
: auto_complete_enabled(std::move(rhs.auto_complete_enabled)),
auto_correct_enabled(std::move(rhs.auto_correct_enabled)),
handwriting_enabled(std::move(rhs.handwriting_enabled)),
spell_check_enabled(std::move(rhs.spell_check_enabled)),
voice_input_enabled(std::move(rhs.voice_input_enabled)){
}
FeatureRestrictions& FeatureRestrictions::operator=(FeatureRestrictions&& rhs)
{
auto_complete_enabled = std::move(rhs.auto_complete_enabled);
auto_correct_enabled = std::move(rhs.auto_correct_enabled);
handwriting_enabled = std::move(rhs.handwriting_enabled);
spell_check_enabled = std::move(rhs.spell_check_enabled);
voice_input_enabled = std::move(rhs.voice_input_enabled);
return *this;
}
// static
bool FeatureRestrictions::Populate(
const base::Value& value, FeatureRestrictions* out) {
if (!value.is_dict()) {
return false;
}
const base::DictionaryValue* dict = static_cast<const base::DictionaryValue*>(&value);
const base::Value* auto_complete_enabled_value = NULL;
if (dict->GetWithoutPathExpansion("autoCompleteEnabled", &auto_complete_enabled_value)) {
{
bool temp;
if (!auto_complete_enabled_value->GetAsBoolean(&temp)) {
out->auto_complete_enabled.reset();
return false;
}
else
out->auto_complete_enabled.reset(new bool(temp));
}
}
const base::Value* auto_correct_enabled_value = NULL;
if (dict->GetWithoutPathExpansion("autoCorrectEnabled", &auto_correct_enabled_value)) {
{
bool temp;
if (!auto_correct_enabled_value->GetAsBoolean(&temp)) {
out->auto_correct_enabled.reset();
return false;
}
else
out->auto_correct_enabled.reset(new bool(temp));
}
}
const base::Value* handwriting_enabled_value = NULL;
if (dict->GetWithoutPathExpansion("handwritingEnabled", &handwriting_enabled_value)) {
{
bool temp;
if (!handwriting_enabled_value->GetAsBoolean(&temp)) {
out->handwriting_enabled.reset();
return false;
}
else
out->handwriting_enabled.reset(new bool(temp));
}
}
const base::Value* spell_check_enabled_value = NULL;
if (dict->GetWithoutPathExpansion("spellCheckEnabled", &spell_check_enabled_value)) {
{
bool temp;
if (!spell_check_enabled_value->GetAsBoolean(&temp)) {
out->spell_check_enabled.reset();
return false;
}
else
out->spell_check_enabled.reset(new bool(temp));
}
}
const base::Value* voice_input_enabled_value = NULL;
if (dict->GetWithoutPathExpansion("voiceInputEnabled", &voice_input_enabled_value)) {
{
bool temp;
if (!voice_input_enabled_value->GetAsBoolean(&temp)) {
out->voice_input_enabled.reset();
return false;
}
else
out->voice_input_enabled.reset(new bool(temp));
}
}
return true;
}
// static
std::unique_ptr<FeatureRestrictions> FeatureRestrictions::FromValue(const base::Value& value) {
std::unique_ptr<FeatureRestrictions> out(new FeatureRestrictions());
if (!Populate(value, out.get()))
return nullptr;
return out;
}
std::unique_ptr<base::DictionaryValue> FeatureRestrictions::ToValue() const {
std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue());
if (this->auto_complete_enabled.get()) {
value->SetWithoutPathExpansion("autoCompleteEnabled", std::make_unique<base::Value>(*this->auto_complete_enabled));
}
if (this->auto_correct_enabled.get()) {
value->SetWithoutPathExpansion("autoCorrectEnabled", std::make_unique<base::Value>(*this->auto_correct_enabled));
}
if (this->handwriting_enabled.get()) {
value->SetWithoutPathExpansion("handwritingEnabled", std::make_unique<base::Value>(*this->handwriting_enabled));
}
if (this->spell_check_enabled.get()) {
value->SetWithoutPathExpansion("spellCheckEnabled", std::make_unique<base::Value>(*this->spell_check_enabled));
}
if (this->voice_input_enabled.get()) {
value->SetWithoutPathExpansion("voiceInputEnabled", std::make_unique<base::Value>(*this->voice_input_enabled));
}
return value;
}
//
// Functions
//
namespace RestrictFeatures {
Params::Params() {}
Params::~Params() {}
// static
std::unique_ptr<Params> Params::Create(const base::ListValue& args) {
if (args.GetSize() != 1) {
return nullptr;
}
std::unique_ptr<Params> params(new Params());
const base::Value* restrictions_value = NULL;
if (args.Get(0, &restrictions_value) &&
!restrictions_value->is_none()) {
{
const base::DictionaryValue* dictionary = NULL;
if (!restrictions_value->GetAsDictionary(&dictionary)) {
return std::unique_ptr<Params>();
}
if (!FeatureRestrictions::Populate(*dictionary, &params->restrictions)) {
return std::unique_ptr<Params>();
}
}
}
else {
return std::unique_ptr<Params>();
}
return params;
}
std::unique_ptr<base::ListValue> Results::Create(const FeatureRestrictions& update) {
std::unique_ptr<base::ListValue> create_results(new base::ListValue());
create_results->Append((update).ToValue());
return create_results;
}
} // namespace RestrictFeatures
} // namespace virtual_keyboard
} // namespace api
} // namespace extensions