| Index: services/preferences/public/cpp/preferences_struct_traits.cc
|
| diff --git a/services/preferences/public/cpp/preferences_struct_traits.cc b/services/preferences/public/cpp/preferences_struct_traits.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..31b0dfb6c1ac9f9e86062b737ded6959ec6848cd
|
| --- /dev/null
|
| +++ b/services/preferences/public/cpp/preferences_struct_traits.cc
|
| @@ -0,0 +1,64 @@
|
| +// Copyright 2017 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 "services/preferences/public/cpp/preferences_struct_traits.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +using PrefStoreType = prefs::mojom::PrefStoreType;
|
| +
|
| +PrefStoreType EnumTraits<PrefStoreType, PrefValueStore::PrefStoreType>::ToMojom(
|
| + PrefValueStore::PrefStoreType input) {
|
| + switch (input) {
|
| + case PrefValueStore::INVALID_STORE:
|
| + break;
|
| + case PrefValueStore::MANAGED_STORE:
|
| + return PrefStoreType::MANAGED;
|
| + case PrefValueStore::SUPERVISED_USER_STORE:
|
| + return PrefStoreType::SUPERVISED_USER;
|
| + case PrefValueStore::EXTENSION_STORE:
|
| + return PrefStoreType::EXTENSION;
|
| + case PrefValueStore::COMMAND_LINE_STORE:
|
| + return PrefStoreType::COMMAND_LINE;
|
| + case PrefValueStore::USER_STORE:
|
| + return PrefStoreType::USER;
|
| + case PrefValueStore::RECOMMENDED_STORE:
|
| + return PrefStoreType::RECOMMENDED;
|
| + case PrefValueStore::DEFAULT_STORE:
|
| + return PrefStoreType::DEFAULT;
|
| + }
|
| + NOTREACHED();
|
| + return {};
|
| +}
|
| +
|
| +bool EnumTraits<PrefStoreType, PrefValueStore::PrefStoreType>::FromMojom(
|
| + PrefStoreType input,
|
| + PrefValueStore::PrefStoreType* output) {
|
| + switch (input) {
|
| + case PrefStoreType::MANAGED:
|
| + *output = PrefValueStore::MANAGED_STORE;
|
| + return true;
|
| + case PrefStoreType::SUPERVISED_USER:
|
| + *output = PrefValueStore::SUPERVISED_USER_STORE;
|
| + return true;
|
| + case PrefStoreType::EXTENSION:
|
| + *output = PrefValueStore::EXTENSION_STORE;
|
| + return true;
|
| + case PrefStoreType::COMMAND_LINE:
|
| + *output = PrefValueStore::COMMAND_LINE_STORE;
|
| + return true;
|
| + case PrefStoreType::USER:
|
| + *output = PrefValueStore::USER_STORE;
|
| + return true;
|
| + case PrefStoreType::RECOMMENDED:
|
| + *output = PrefValueStore::RECOMMENDED_STORE;
|
| + return true;
|
| + case PrefStoreType::DEFAULT:
|
| + *output = PrefValueStore::DEFAULT_STORE;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|