| Index: services/preferences/public/cpp/tracked/configuration.h
|
| diff --git a/services/preferences/public/cpp/tracked/configuration.h b/services/preferences/public/cpp/tracked/configuration.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bbb0ebff4cac7d0cb94db7952039e1767d867070
|
| --- /dev/null
|
| +++ b/services/preferences/public/cpp/tracked/configuration.h
|
| @@ -0,0 +1,37 @@
|
| +// 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.
|
| +
|
| +#ifndef SERVICES_PREFERENCES_PUBLIC_CPP_TRACKED_CONFIGURATION_H_
|
| +#define SERVICES_PREFERENCES_PUBLIC_CPP_TRACKED_CONFIGURATION_H_
|
| +
|
| +#include "services/preferences/public/interfaces/preferences_configuration.mojom.h"
|
| +
|
| +namespace prefs {
|
| +
|
| +struct TrackedPreferenceMetadata {
|
| + size_t reporting_id;
|
| + const char* name;
|
| + mojom::TrackedPreferenceMetadata::EnforcementLevel enforcement_level;
|
| + mojom::TrackedPreferenceMetadata::PrefTrackingStrategy strategy;
|
| + mojom::TrackedPreferenceMetadata::ValueType value_type;
|
| +};
|
| +
|
| +mojom::TrackedPreferenceMetadataPtr ConstructTrackedMetadata(
|
| + const TrackedPreferenceMetadata& metadata);
|
| +
|
| +template <typename ConfigurationContainer>
|
| +std::vector<mojom::TrackedPreferenceMetadataPtr> ConstructTrackedConfiguration(
|
| + const ConfigurationContainer& configuration) {
|
| + std::vector<mojom::TrackedPreferenceMetadataPtr> result;
|
| + for (auto metadata : configuration) {
|
| + result.push_back(ConstructTrackedMetadata(metadata));
|
| + }
|
| + return result;
|
| +}
|
| +
|
| +std::vector<mojom::TrackedPreferenceMetadataPtr> CloneTrackedConfiguration(
|
| + const std::vector<mojom::TrackedPreferenceMetadataPtr>& configuration);
|
| +
|
| +} // namespace prefs
|
| +#endif // SERVICES_PREFERENCES_PUBLIC_CPP_TRACKED_CONFIGURATION_H_
|
|
|