#include "chrome/browser/policy/messaging_layer/upload/configuration_file_controller.h"
#include <algorithm>
#include <cstdint>
#include <limits>
#include <optional>
#include <string_view>
#include <vector>
#include "base/containers/span.h"
#include "base/feature_list.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_functions.h"
#include "base/numerics/byte_conversions.h"
#include "chrome/browser/policy/messaging_layer/upload/record_upload_request_builder.h"
#include "components/reporting/encryption/primitives.h"
#include "components/reporting/encryption/verification.h"
#include "components/reporting/proto/synced/record.pb.h"
#include "components/reporting/util/status.h"
#include "components/version_info/version_info.h"
namespace reporting {
namespace {
bool DestinationListsEqual(ListOfBlockedDestinations list_a,
ListOfBlockedDestinations list_b) { … }
}
BASE_FEATURE(…);
ConfigurationFileController::~ConfigurationFileController() = default;
ConfigurationFileController::ConfigurationFileController(
UploadClient::UpdateConfigInMissiveCallback update_config_in_missive_cb)
: … { … }
int32_t ConfigurationFileController::HandleConfigurationFile(
reporting::ConfigFile config_file) { … }
Status ConfigurationFileController::VerifySignature(ConfigFile config_file) { … }
std::unique_ptr<ConfigurationFileController>
ConfigurationFileController::CreateForTesting(
UploadClient::UpdateConfigInMissiveCallback update_config_in_missive_cb,
ListOfBlockedDestinations destinations_list,
int os_version) { … }
ConfigurationFileController::ConfigurationFileController(
UploadClient::UpdateConfigInMissiveCallback update_config_in_missive_cb,
ListOfBlockedDestinations destinations_list,
int os_version)
: … { … }
bool ConfigurationFileController::HandleBlockedEventConfigs(
google::protobuf::RepeatedPtrField<EventConfig> blocked_event_configs) { … }
bool ConfigurationFileController::ShouldBeBlocked(
int32_t minimum_version,
std::optional<int32_t> maximum_version) const { … }
}