Commit 5048d1fb authored by Austin Tankiang's avatar Austin Tankiang Committed by Commit Bot

Convert RemoteDeviceLoader to BindOnce/OnceCallback

Bug: 1007662
Change-Id: I6b3f48a142c6d412c98855be229ee8ea8fdf5c31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2379377Reviewed-by: default avatarJosh Nohle <nohle@chromium.org>
Commit-Queue: Austin Tankiang <austinct@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802533}
parent 477085b3
...@@ -91,14 +91,14 @@ RemoteDeviceLoader::RemoteDeviceLoader( ...@@ -91,14 +91,14 @@ RemoteDeviceLoader::RemoteDeviceLoader(
RemoteDeviceLoader::~RemoteDeviceLoader() {} RemoteDeviceLoader::~RemoteDeviceLoader() {}
void RemoteDeviceLoader::Load(const RemoteDeviceCallback& callback) { void RemoteDeviceLoader::Load(RemoteDeviceCallback callback) {
DCHECK(callback_.is_null()); DCHECK(callback_.is_null());
callback_ = callback; callback_ = std::move(callback);
PA_LOG(VERBOSE) << "Loading " << remaining_devices_.size() PA_LOG(VERBOSE) << "Loading " << remaining_devices_.size()
<< " remote devices"; << " remote devices";
if (remaining_devices_.empty()) { if (remaining_devices_.empty()) {
callback_.Run(remote_devices_); std::move(callback_).Run(remote_devices_);
return; return;
} }
...@@ -146,7 +146,7 @@ void RemoteDeviceLoader::OnPSKDerived( ...@@ -146,7 +146,7 @@ void RemoteDeviceLoader::OnPSKDerived(
if (remaining_devices_.empty()) { if (remaining_devices_.empty()) {
PA_LOG(VERBOSE) << "Derived keys for " << remote_devices_.size() PA_LOG(VERBOSE) << "Derived keys for " << remote_devices_.size()
<< " devices."; << " devices.";
callback_.Run(remote_devices_); std::move(callback_).Run(remote_devices_);
} }
} }
......
...@@ -66,9 +66,9 @@ class RemoteDeviceLoader { ...@@ -66,9 +66,9 @@ class RemoteDeviceLoader {
virtual ~RemoteDeviceLoader(); virtual ~RemoteDeviceLoader();
// Loads the RemoteDevice objects. |callback| will be invoked upon completion. // Loads the RemoteDevice objects. |callback| will be invoked upon completion.
typedef base::Callback<void(const multidevice::RemoteDeviceList&)> typedef base::OnceCallback<void(const multidevice::RemoteDeviceList&)>
RemoteDeviceCallback; RemoteDeviceCallback;
virtual void Load(const RemoteDeviceCallback& callback); virtual void Load(RemoteDeviceCallback callback);
private: private:
// Called when the PSK is derived for each device. If the PSKs for all devices // Called when the PSK is derived for each device. If the PSKs for all devices
......
...@@ -95,8 +95,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LoadZeroDevices) { ...@@ -95,8 +95,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LoadZeroDevices) {
EXPECT_CALL(*this, LoadCompleted()); EXPECT_CALL(*this, LoadCompleted());
loader.Load( loader.Load(
base::Bind(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, base::BindOnce(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
base::Unretained(this))); base::Unretained(this)));
EXPECT_EQ(0u, remote_devices_.size()); EXPECT_EQ(0u, remote_devices_.size());
} }
...@@ -109,8 +109,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LoadOneDevice) { ...@@ -109,8 +109,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LoadOneDevice) {
EXPECT_CALL(*this, LoadCompleted()); EXPECT_CALL(*this, LoadCompleted());
loader.Load( loader.Load(
base::Bind(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, base::BindOnce(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
base::Unretained(this))); base::Unretained(this)));
EXPECT_EQ(1u, remote_devices_.size()); EXPECT_EQ(1u, remote_devices_.size());
EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty()); EXPECT_FALSE(remote_devices_[0].persistent_symmetric_key.empty());
...@@ -141,8 +141,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LastUpdateTimeMillis) { ...@@ -141,8 +141,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, LastUpdateTimeMillis) {
EXPECT_CALL(*this, LoadCompleted()); EXPECT_CALL(*this, LoadCompleted());
loader.Load( loader.Load(
base::Bind(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, base::BindOnce(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
base::Unretained(this))); base::Unretained(this)));
EXPECT_EQ(2u, remote_devices_.size()); EXPECT_EQ(2u, remote_devices_.size());
...@@ -174,8 +174,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, SoftwareFeatures) { ...@@ -174,8 +174,8 @@ TEST_F(DeviceSyncRemoteDeviceLoaderTest, SoftwareFeatures) {
EXPECT_CALL(*this, LoadCompleted()); EXPECT_CALL(*this, LoadCompleted());
loader.Load( loader.Load(
base::Bind(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded, base::BindOnce(&DeviceSyncRemoteDeviceLoaderTest::OnRemoteDevicesLoaded,
base::Unretained(this))); base::Unretained(this)));
EXPECT_EQ(1u, remote_devices_.size()); EXPECT_EQ(1u, remote_devices_.size());
......
...@@ -198,16 +198,15 @@ class FakeDeviceLoader final : public RemoteDeviceLoader { ...@@ -198,16 +198,15 @@ class FakeDeviceLoader final : public RemoteDeviceLoader {
devices.push_back(remote_device); devices.push_back(remote_device);
} }
} }
callback_.Run(devices); std::move(callback_).Run(devices);
callback_.Reset();
} }
// Fetch is only started if the change result passed to OnSyncFinished() is // Fetch is only started if the change result passed to OnSyncFinished() is
// CHANGED and sync is SUCCESS. // CHANGED and sync is SUCCESS.
bool HasQueuedCallback() { return !callback_.is_null(); } bool HasQueuedCallback() { return !callback_.is_null(); }
void QueueCallback(const RemoteDeviceCallback& callback) { void QueueCallback(RemoteDeviceCallback callback) {
callback_ = callback; callback_ = std::move(callback);
} }
private: private:
...@@ -224,8 +223,8 @@ class FakeDeviceLoader final : public RemoteDeviceLoader { ...@@ -224,8 +223,8 @@ class FakeDeviceLoader final : public RemoteDeviceLoader {
TestRemoteDeviceLoaderFactory* remote_device_loader_factory_; TestRemoteDeviceLoaderFactory* remote_device_loader_factory_;
void Load(const RemoteDeviceCallback& callback) override { void Load(RemoteDeviceCallback callback) override {
remote_device_loader_factory_->QueueCallback(callback); remote_device_loader_factory_->QueueCallback(std::move(callback));
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment