blob: 91a69e8cc9167ad57b8d3ff10554dea73350ca2c [file] [log] [blame]
// 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 "chromeos/services/device_sync/fake_cryptauth_feature_status_setter.h"
namespace chromeos {
namespace device_sync {
FakeCryptAuthFeatureStatusSetter::Request::Request(
const std::string& device_id,
multidevice::SoftwareFeature feature,
FeatureStatusChange status_change,
base::OnceClosure success_callback,
base::OnceCallback<void(NetworkRequestError)> error_callback)
: device_id(device_id),
feature(feature),
status_change(status_change),
success_callback(std::move(success_callback)),
error_callback(std::move(error_callback)) {}
FakeCryptAuthFeatureStatusSetter::Request::Request(Request&& request)
: device_id(request.device_id),
feature(request.feature),
status_change(request.status_change),
success_callback(std::move(request.success_callback)),
error_callback(std::move(request.error_callback)) {}
FakeCryptAuthFeatureStatusSetter::Request::~Request() = default;
FakeCryptAuthFeatureStatusSetter::FakeCryptAuthFeatureStatusSetter() = default;
FakeCryptAuthFeatureStatusSetter::~FakeCryptAuthFeatureStatusSetter() = default;
void FakeCryptAuthFeatureStatusSetter::SetFeatureStatus(
const std::string& device_id,
multidevice::SoftwareFeature feature,
FeatureStatusChange status_change,
base::OnceClosure success_callback,
base::OnceCallback<void(NetworkRequestError)> error_callback) {
requests_.emplace_back(device_id, feature, status_change,
std::move(success_callback),
std::move(error_callback));
if (delegate_)
delegate_->OnSetFeatureStatusCalled();
}
FakeCryptAuthFeatureStatusSetterFactory::
FakeCryptAuthFeatureStatusSetterFactory() = default;
FakeCryptAuthFeatureStatusSetterFactory::
~FakeCryptAuthFeatureStatusSetterFactory() = default;
std::unique_ptr<CryptAuthFeatureStatusSetter>
FakeCryptAuthFeatureStatusSetterFactory::BuildInstance(
ClientAppMetadataProvider* client_app_metadata_provider,
CryptAuthClientFactory* client_factory,
CryptAuthGCMManager* gcm_manager,
std::unique_ptr<base::OneShotTimer> timer) {
last_client_app_metadata_provider_ = client_app_metadata_provider;
last_client_factory_ = client_factory;
last_gcm_manager_ = gcm_manager;
auto instance = std::make_unique<FakeCryptAuthFeatureStatusSetter>();
instances_.push_back(instance.get());
return instance;
}
} // namespace device_sync
} // namespace chromeos