Commit fc82a523 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert FeatureStateObserver to new Mojo types

This CL converts FeatureStateObserverPtr and
FeatureStateObserverRequest to new Mojo types
using PendingRemote, PendingReceiver, ReceiverSet,
RemoteSet, and Receiver.

It also updates AddFeatureStateObserver from
multidevice_setup.mojom.

Bug: 955171
Change-Id: I94c6d61500a7f142c58153ce20d225f27f4e3135
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1827259
Commit-Queue: Julie Kim <jkim@igalia.com>
Reviewed-by: default avatarRyan Hansberry <hansberry@chromium.org>
Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#701026}
parent df801314
...@@ -12,11 +12,11 @@ FakeFeatureStateObserver::FakeFeatureStateObserver() = default; ...@@ -12,11 +12,11 @@ FakeFeatureStateObserver::FakeFeatureStateObserver() = default;
FakeFeatureStateObserver::~FakeFeatureStateObserver() = default; FakeFeatureStateObserver::~FakeFeatureStateObserver() = default;
mojom::FeatureStateObserverPtr mojo::PendingRemote<mojom::FeatureStateObserver>
FakeFeatureStateObserver::GenerateInterfacePtr() { FakeFeatureStateObserver::GenerateRemote() {
mojom::FeatureStateObserverPtr interface_ptr; mojo::PendingRemote<mojom::FeatureStateObserver> remote;
bindings_.AddBinding(this, mojo::MakeRequest(&interface_ptr)); receivers_.Add(this, remote.InitWithNewPipeAndPassReceiver());
return interface_ptr; return remote;
} }
void FakeFeatureStateObserver::OnFeatureStatesChanged( void FakeFeatureStateObserver::OnFeatureStatesChanged(
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h" #include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
namespace chromeos { namespace chromeos {
...@@ -21,7 +22,7 @@ class FakeFeatureStateObserver : public mojom::FeatureStateObserver { ...@@ -21,7 +22,7 @@ class FakeFeatureStateObserver : public mojom::FeatureStateObserver {
FakeFeatureStateObserver(); FakeFeatureStateObserver();
~FakeFeatureStateObserver() override; ~FakeFeatureStateObserver() override;
mojom::FeatureStateObserverPtr GenerateInterfacePtr(); mojo::PendingRemote<mojom::FeatureStateObserver> GenerateRemote();
const std::vector<base::flat_map<mojom::Feature, mojom::FeatureState>>& const std::vector<base::flat_map<mojom::Feature, mojom::FeatureState>>&
feature_state_updates() { feature_state_updates() {
...@@ -37,7 +38,7 @@ class FakeFeatureStateObserver : public mojom::FeatureStateObserver { ...@@ -37,7 +38,7 @@ class FakeFeatureStateObserver : public mojom::FeatureStateObserver {
std::vector<base::flat_map<mojom::Feature, mojom::FeatureState>> std::vector<base::flat_map<mojom::Feature, mojom::FeatureState>>
feature_state_updates_; feature_state_updates_;
mojo::BindingSet<mojom::FeatureStateObserver> bindings_; mojo::ReceiverSet<mojom::FeatureStateObserver> receivers_;
DISALLOW_COPY_AND_ASSIGN(FakeFeatureStateObserver); DISALLOW_COPY_AND_ASSIGN(FakeFeatureStateObserver);
}; };
......
...@@ -167,8 +167,8 @@ void MultiDeviceSetupImpl::AddHostStatusObserver( ...@@ -167,8 +167,8 @@ void MultiDeviceSetupImpl::AddHostStatusObserver(
} }
void MultiDeviceSetupImpl::AddFeatureStateObserver( void MultiDeviceSetupImpl::AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) { mojo::PendingRemote<mojom::FeatureStateObserver> observer) {
feature_state_observers_.AddPtr(std::move(observer)); feature_state_observers_.Add(std::move(observer));
} }
void MultiDeviceSetupImpl::GetEligibleHostDevices( void MultiDeviceSetupImpl::GetEligibleHostDevices(
...@@ -331,10 +331,8 @@ void MultiDeviceSetupImpl::OnHostStatusChange( ...@@ -331,10 +331,8 @@ void MultiDeviceSetupImpl::OnHostStatusChange(
void MultiDeviceSetupImpl::OnFeatureStatesChange( void MultiDeviceSetupImpl::OnFeatureStatesChange(
const FeatureStateManager::FeatureStatesMap& feature_states_map) { const FeatureStateManager::FeatureStatesMap& feature_states_map) {
feature_state_observers_.ForAllPtrs( for (auto& observer : feature_state_observers_)
[&feature_states_map](mojom::FeatureStateObserver* observer) { observer->OnFeatureStatesChanged(feature_states_map);
observer->OnFeatureStatesChanged(feature_states_map);
});
} }
bool MultiDeviceSetupImpl::AttemptSetHost(const std::string& host_device_id) { bool MultiDeviceSetupImpl::AttemptSetHost(const std::string& host_device_id) {
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
#include "chromeos/services/multidevice_setup/host_status_provider.h" #include "chromeos/services/multidevice_setup/host_status_provider.h"
#include "chromeos/services/multidevice_setup/multidevice_setup_base.h" #include "chromeos/services/multidevice_setup/multidevice_setup_base.h"
#include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h" #include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/interface_ptr_set.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote_set.h" #include "mojo/public/cpp/bindings/remote_set.h"
#include "url/gurl.h" #include "url/gurl.h"
...@@ -87,7 +85,7 @@ class MultiDeviceSetupImpl : public MultiDeviceSetupBase, ...@@ -87,7 +85,7 @@ class MultiDeviceSetupImpl : public MultiDeviceSetupBase,
void AddHostStatusObserver( void AddHostStatusObserver(
mojo::PendingRemote<mojom::HostStatusObserver> observer) override; mojo::PendingRemote<mojom::HostStatusObserver> observer) override;
void AddFeatureStateObserver( void AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) override; mojo::PendingRemote<mojom::FeatureStateObserver> observer) override;
void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override; void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override;
void SetHostDevice(const std::string& host_device_id, void SetHostDevice(const std::string& host_device_id,
const std::string& auth_token, const std::string& auth_token,
...@@ -141,7 +139,7 @@ class MultiDeviceSetupImpl : public MultiDeviceSetupBase, ...@@ -141,7 +139,7 @@ class MultiDeviceSetupImpl : public MultiDeviceSetupBase,
AuthTokenValidator* auth_token_validator_; AuthTokenValidator* auth_token_validator_;
mojo::RemoteSet<mojom::HostStatusObserver> host_status_observers_; mojo::RemoteSet<mojom::HostStatusObserver> host_status_observers_;
mojo::InterfacePtrSet<mojom::FeatureStateObserver> feature_state_observers_; mojo::RemoteSet<mojom::FeatureStateObserver> feature_state_observers_;
DISALLOW_COPY_AND_ASSIGN(MultiDeviceSetupImpl); DISALLOW_COPY_AND_ASSIGN(MultiDeviceSetupImpl);
}; };
......
...@@ -947,8 +947,7 @@ TEST_F(MultiDeviceSetupImplTest, AccountStatusChangeDelegate) { ...@@ -947,8 +947,7 @@ TEST_F(MultiDeviceSetupImplTest, AccountStatusChangeDelegate) {
// because it never requires authentication for either enabling or disabling. // because it never requires authentication for either enabling or disabling.
TEST_F(MultiDeviceSetupImplTest, FeatureStateChanges_NoAuthTokenRequired) { TEST_F(MultiDeviceSetupImplTest, FeatureStateChanges_NoAuthTokenRequired) {
auto observer = std::make_unique<FakeFeatureStateObserver>(); auto observer = std::make_unique<FakeFeatureStateObserver>();
multidevice_setup()->AddFeatureStateObserver( multidevice_setup()->AddFeatureStateObserver(observer->GenerateRemote());
observer->GenerateInterfacePtr());
EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost, EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost,
CallGetFeatureStates()[mojom::Feature::kInstantTethering]); CallGetFeatureStates()[mojom::Feature::kInstantTethering]);
...@@ -981,8 +980,7 @@ TEST_F(MultiDeviceSetupImplTest, FeatureStateChanges_NoAuthTokenRequired) { ...@@ -981,8 +980,7 @@ TEST_F(MultiDeviceSetupImplTest, FeatureStateChanges_NoAuthTokenRequired) {
TEST_F(MultiDeviceSetupImplTest, TEST_F(MultiDeviceSetupImplTest,
FeatureStateChanges_AuthTokenRequired_SmartLock) { FeatureStateChanges_AuthTokenRequired_SmartLock) {
auto observer = std::make_unique<FakeFeatureStateObserver>(); auto observer = std::make_unique<FakeFeatureStateObserver>();
multidevice_setup()->AddFeatureStateObserver( multidevice_setup()->AddFeatureStateObserver(observer->GenerateRemote());
observer->GenerateInterfacePtr());
EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost, EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost,
CallGetFeatureStates()[mojom::Feature::kSmartLock]); CallGetFeatureStates()[mojom::Feature::kSmartLock]);
...@@ -1025,8 +1023,7 @@ TEST_F(MultiDeviceSetupImplTest, ...@@ -1025,8 +1023,7 @@ TEST_F(MultiDeviceSetupImplTest,
TEST_F(MultiDeviceSetupImplTest, TEST_F(MultiDeviceSetupImplTest,
FeatureStateChanges_AuthTokenRequired_BetterTogetherSuite) { FeatureStateChanges_AuthTokenRequired_BetterTogetherSuite) {
auto observer = std::make_unique<FakeFeatureStateObserver>(); auto observer = std::make_unique<FakeFeatureStateObserver>();
multidevice_setup()->AddFeatureStateObserver( multidevice_setup()->AddFeatureStateObserver(observer->GenerateRemote());
observer->GenerateInterfacePtr());
EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost, EXPECT_EQ(mojom::FeatureState::kUnavailableNoVerifiedHost,
CallGetFeatureStates()[mojom::Feature::kBetterTogetherSuite]); CallGetFeatureStates()[mojom::Feature::kBetterTogetherSuite]);
......
...@@ -119,7 +119,7 @@ void MultiDeviceSetupInitializer::AddHostStatusObserver( ...@@ -119,7 +119,7 @@ void MultiDeviceSetupInitializer::AddHostStatusObserver(
} }
void MultiDeviceSetupInitializer::AddFeatureStateObserver( void MultiDeviceSetupInitializer::AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) { mojo::PendingRemote<mojom::FeatureStateObserver> observer) {
if (multidevice_setup_impl_) { if (multidevice_setup_impl_) {
multidevice_setup_impl_->AddFeatureStateObserver(std::move(observer)); multidevice_setup_impl_->AddFeatureStateObserver(std::move(observer));
return; return;
......
...@@ -93,7 +93,7 @@ class MultiDeviceSetupInitializer ...@@ -93,7 +93,7 @@ class MultiDeviceSetupInitializer
void AddHostStatusObserver( void AddHostStatusObserver(
mojo::PendingRemote<mojom::HostStatusObserver> observer) override; mojo::PendingRemote<mojom::HostStatusObserver> observer) override;
void AddFeatureStateObserver( void AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) override; mojo::PendingRemote<mojom::FeatureStateObserver> observer) override;
void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override; void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override;
void SetHostDevice(const std::string& host_device_id, void SetHostDevice(const std::string& host_device_id,
const std::string& auth_token, const std::string& auth_token,
...@@ -137,7 +137,8 @@ class MultiDeviceSetupInitializer ...@@ -137,7 +137,8 @@ class MultiDeviceSetupInitializer
mojo::PendingRemote<mojom::AccountStatusChangeDelegate> pending_delegate_; mojo::PendingRemote<mojom::AccountStatusChangeDelegate> pending_delegate_;
std::vector<mojo::PendingRemote<mojom::HostStatusObserver>> std::vector<mojo::PendingRemote<mojom::HostStatusObserver>>
pending_host_status_observers_; pending_host_status_observers_;
std::vector<mojom::FeatureStateObserverPtr> pending_feature_state_observers_; std::vector<mojo::PendingRemote<mojom::FeatureStateObserver>>
pending_feature_state_observers_;
std::vector<GetEligibleHostDevicesCallback> pending_get_eligible_hosts_args_; std::vector<GetEligibleHostDevicesCallback> pending_get_eligible_hosts_args_;
std::vector<GetHostStatusCallback> pending_get_host_args_; std::vector<GetHostStatusCallback> pending_get_host_args_;
std::vector<std::tuple<mojom::Feature, std::vector<std::tuple<mojom::Feature,
......
...@@ -256,7 +256,7 @@ TEST_F(MultiDeviceSetupServiceTest, CallFunctionsBeforeInitialization) { ...@@ -256,7 +256,7 @@ TEST_F(MultiDeviceSetupServiceTest, CallFunctionsBeforeInitialization) {
auto fake_feature_state_observer = auto fake_feature_state_observer =
std::make_unique<FakeFeatureStateObserver>(); std::make_unique<FakeFeatureStateObserver>();
multidevice_setup_ptr()->AddFeatureStateObserver( multidevice_setup_ptr()->AddFeatureStateObserver(
fake_feature_state_observer->GenerateInterfacePtr()); fake_feature_state_observer->GenerateRemote());
multidevice_setup_ptr().FlushForTesting(); multidevice_setup_ptr().FlushForTesting();
// GetEligibleHostDevices(). // GetEligibleHostDevices().
...@@ -403,7 +403,7 @@ TEST_F(MultiDeviceSetupServiceTest, FinishInitializationFirst) { ...@@ -403,7 +403,7 @@ TEST_F(MultiDeviceSetupServiceTest, FinishInitializationFirst) {
auto fake_feature_state_observer = auto fake_feature_state_observer =
std::make_unique<FakeFeatureStateObserver>(); std::make_unique<FakeFeatureStateObserver>();
multidevice_setup_ptr()->AddFeatureStateObserver( multidevice_setup_ptr()->AddFeatureStateObserver(
fake_feature_state_observer->GenerateInterfacePtr()); fake_feature_state_observer->GenerateRemote());
multidevice_setup_ptr().FlushForTesting(); multidevice_setup_ptr().FlushForTesting();
EXPECT_TRUE(fake_multidevice_setup()->HasAtLeastOneFeatureStateObserver()); EXPECT_TRUE(fake_multidevice_setup()->HasAtLeastOneFeatureStateObserver());
......
...@@ -89,10 +89,8 @@ void FakeMultiDeviceSetup::NotifyHostStatusChanged( ...@@ -89,10 +89,8 @@ void FakeMultiDeviceSetup::NotifyHostStatusChanged(
void FakeMultiDeviceSetup::NotifyFeatureStateChanged( void FakeMultiDeviceSetup::NotifyFeatureStateChanged(
const base::flat_map<mojom::Feature, mojom::FeatureState>& const base::flat_map<mojom::Feature, mojom::FeatureState>&
feature_states_map) { feature_states_map) {
feature_state_observers_.ForAllPtrs( for (auto& observer : feature_state_observers_)
[&feature_states_map](mojom::FeatureStateObserver* observer) { observer->OnFeatureStatesChanged(feature_states_map);
observer->OnFeatureStatesChanged(feature_states_map);
});
} }
void FakeMultiDeviceSetup::SetAccountStatusChangeDelegate( void FakeMultiDeviceSetup::SetAccountStatusChangeDelegate(
...@@ -106,8 +104,8 @@ void FakeMultiDeviceSetup::AddHostStatusObserver( ...@@ -106,8 +104,8 @@ void FakeMultiDeviceSetup::AddHostStatusObserver(
} }
void FakeMultiDeviceSetup::AddFeatureStateObserver( void FakeMultiDeviceSetup::AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) { mojo::PendingRemote<mojom::FeatureStateObserver> observer) {
feature_state_observers_.AddPtr(std::move(observer)); feature_state_observers_.Add(std::move(observer));
} }
void FakeMultiDeviceSetup::GetEligibleHostDevices( void FakeMultiDeviceSetup::GetEligibleHostDevices(
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "chromeos/services/multidevice_setup/multidevice_setup_base.h" #include "chromeos/services/multidevice_setup/multidevice_setup_base.h"
#include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h" #include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/interface_ptr_set.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/remote_set.h" #include "mojo/public/cpp/bindings/remote_set.h"
...@@ -94,7 +93,7 @@ class FakeMultiDeviceSetup : public MultiDeviceSetupBase { ...@@ -94,7 +93,7 @@ class FakeMultiDeviceSetup : public MultiDeviceSetupBase {
void AddHostStatusObserver( void AddHostStatusObserver(
mojo::PendingRemote<mojom::HostStatusObserver> observer) override; mojo::PendingRemote<mojom::HostStatusObserver> observer) override;
void AddFeatureStateObserver( void AddFeatureStateObserver(
mojom::FeatureStateObserverPtr observer) override; mojo::PendingRemote<mojom::FeatureStateObserver> observer) override;
void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override; void GetEligibleHostDevices(GetEligibleHostDevicesCallback callback) override;
void SetHostDevice(const std::string& host_device_id, void SetHostDevice(const std::string& host_device_id,
const std::string& auth_token, const std::string& auth_token,
...@@ -119,7 +118,7 @@ class FakeMultiDeviceSetup : public MultiDeviceSetupBase { ...@@ -119,7 +118,7 @@ class FakeMultiDeviceSetup : public MultiDeviceSetupBase {
mojo::Remote<mojom::AccountStatusChangeDelegate> delegate_; mojo::Remote<mojom::AccountStatusChangeDelegate> delegate_;
mojo::RemoteSet<mojom::HostStatusObserver> host_status_observers_; mojo::RemoteSet<mojom::HostStatusObserver> host_status_observers_;
mojo::InterfacePtrSet<mojom::FeatureStateObserver> feature_state_observers_; mojo::RemoteSet<mojom::FeatureStateObserver> feature_state_observers_;
std::vector<GetEligibleHostDevicesCallback> get_eligible_hosts_args_; std::vector<GetEligibleHostDevicesCallback> get_eligible_hosts_args_;
std::vector<std::tuple<std::string, std::string, SetHostDeviceCallback>> std::vector<std::tuple<std::string, std::string, SetHostDeviceCallback>>
......
...@@ -48,8 +48,7 @@ MultiDeviceSetupClientImpl::Factory::BuildInstance( ...@@ -48,8 +48,7 @@ MultiDeviceSetupClientImpl::Factory::BuildInstance(
MultiDeviceSetupClientImpl::MultiDeviceSetupClientImpl( MultiDeviceSetupClientImpl::MultiDeviceSetupClientImpl(
service_manager::Connector* connector) service_manager::Connector* connector)
: feature_state_observer_binding_(this), : remote_device_cache_(
remote_device_cache_(
multidevice::RemoteDeviceCache::Factory::Get()->BuildInstance()), multidevice::RemoteDeviceCache::Factory::Get()->BuildInstance()),
host_status_with_device_(GenerateDefaultHostStatusWithDevice()), host_status_with_device_(GenerateDefaultHostStatusWithDevice()),
feature_states_map_(GenerateDefaultFeatureStatesMap()) { feature_states_map_(GenerateDefaultFeatureStatesMap()) {
...@@ -57,7 +56,7 @@ MultiDeviceSetupClientImpl::MultiDeviceSetupClientImpl( ...@@ -57,7 +56,7 @@ MultiDeviceSetupClientImpl::MultiDeviceSetupClientImpl(
multidevice_setup_ptr_->AddHostStatusObserver( multidevice_setup_ptr_->AddHostStatusObserver(
GenerateHostStatusObserverRemote()); GenerateHostStatusObserverRemote());
multidevice_setup_ptr_->AddFeatureStateObserver( multidevice_setup_ptr_->AddFeatureStateObserver(
GenerateFeatureStatesObserverInterfacePtr()); GenerateFeatureStatesObserverRemote());
multidevice_setup_ptr_->GetHostStatus( multidevice_setup_ptr_->GetHostStatus(
base::BindOnce(&MultiDeviceSetupClientImpl::OnHostStatusChanged, base::BindOnce(&MultiDeviceSetupClientImpl::OnHostStatusChanged,
base::Unretained(this))); base::Unretained(this)));
...@@ -160,11 +159,9 @@ MultiDeviceSetupClientImpl::GenerateHostStatusObserverRemote() { ...@@ -160,11 +159,9 @@ MultiDeviceSetupClientImpl::GenerateHostStatusObserverRemote() {
return host_status_observer_receiver_.BindNewPipeAndPassRemote(); return host_status_observer_receiver_.BindNewPipeAndPassRemote();
} }
mojom::FeatureStateObserverPtr mojo::PendingRemote<mojom::FeatureStateObserver>
MultiDeviceSetupClientImpl::GenerateFeatureStatesObserverInterfacePtr() { MultiDeviceSetupClientImpl::GenerateFeatureStatesObserverRemote() {
mojom::FeatureStateObserverPtr interface_ptr; return feature_state_observer_receiver_.BindNewPipeAndPassRemote();
feature_state_observer_binding_.Bind(mojo::MakeRequest(&interface_ptr));
return interface_ptr;
} }
void MultiDeviceSetupClientImpl::FlushForTesting() { void MultiDeviceSetupClientImpl::FlushForTesting() {
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "chromeos/components/multidevice/remote_device_ref.h" #include "chromeos/components/multidevice/remote_device_ref.h"
#include "chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client.h" #include "chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client.h"
#include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h" #include "chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
...@@ -89,14 +88,16 @@ class MultiDeviceSetupClientImpl : public MultiDeviceSetupClient, ...@@ -89,14 +88,16 @@ class MultiDeviceSetupClientImpl : public MultiDeviceSetupClient,
mojo::PendingRemote<mojom::HostStatusObserver> mojo::PendingRemote<mojom::HostStatusObserver>
GenerateHostStatusObserverRemote(); GenerateHostStatusObserverRemote();
mojom::FeatureStateObserverPtr GenerateFeatureStatesObserverInterfacePtr(); mojo::PendingRemote<mojom::FeatureStateObserver>
GenerateFeatureStatesObserverRemote();
void FlushForTesting(); void FlushForTesting();
mojom::MultiDeviceSetupPtr multidevice_setup_ptr_; mojom::MultiDeviceSetupPtr multidevice_setup_ptr_;
mojo::Receiver<mojom::HostStatusObserver> host_status_observer_receiver_{ mojo::Receiver<mojom::HostStatusObserver> host_status_observer_receiver_{
this}; this};
mojo::Binding<mojom::FeatureStateObserver> feature_state_observer_binding_; mojo::Receiver<mojom::FeatureStateObserver> feature_state_observer_receiver_{
this};
std::unique_ptr<multidevice::RemoteDeviceCache> remote_device_cache_; std::unique_ptr<multidevice::RemoteDeviceCache> remote_device_cache_;
HostStatusWithDevice host_status_with_device_; HostStatusWithDevice host_status_with_device_;
......
...@@ -146,8 +146,8 @@ interface MultiDeviceSetup { ...@@ -146,8 +146,8 @@ interface MultiDeviceSetup {
AddHostStatusObserver(pending_remote<HostStatusObserver> observer); AddHostStatusObserver(pending_remote<HostStatusObserver> observer);
// Adds an observer of feature state changes. To stop observing, disconnect // Adds an observer of feature state changes. To stop observing, disconnect
// the FeatureStateObserverPtr passed here. // the pending_remote<FeatureStateObserver> passed here.
AddFeatureStateObserver(FeatureStateObserver observer); AddFeatureStateObserver(pending_remote<FeatureStateObserver> observer);
// Provides a list of all eligible host devices (i.e., those which can be // Provides a list of all eligible host devices (i.e., those which can be
// passed to SetHostDevice()). // passed to SetHostDevice()).
......
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