Commit d0521459 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert TimeZoneMonitor and TimeZoneMonitorClient to new Mojo types

This CL converts TimeZoneMonitorRequest and
InterfacePtrSet<TimeZoneMonitorClient> in services to the new Mojo
type.

Bug: 955171
Change-Id: I87cbe6f74289713e2113fc09eea4714ab3224a73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1810504Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#697924}
parent 338fe6e8
......@@ -161,7 +161,7 @@ void DeviceService::OnStart() {
registry_.AddInterface<mojom::SensorProvider>(base::Bind(
&DeviceService::BindSensorProviderRequest, base::Unretained(this)));
registry_.AddInterface<mojom::TimeZoneMonitor>(base::Bind(
&DeviceService::BindTimeZoneMonitorRequest, base::Unretained(this)));
&DeviceService::BindTimeZoneMonitorReceiver, base::Unretained(this)));
registry_.AddInterface<mojom::WakeLockProvider>(base::Bind(
&DeviceService::BindWakeLockProviderReceiver, base::Unretained(this)));
registry_.AddInterface<mojom::UsbDeviceManager>(base::Bind(
......@@ -341,11 +341,11 @@ void DeviceService::BindSensorProviderRequest(
sensor_provider_->Bind(std::move(request));
}
void DeviceService::BindTimeZoneMonitorRequest(
mojom::TimeZoneMonitorRequest request) {
void DeviceService::BindTimeZoneMonitorReceiver(
mojo::PendingReceiver<mojom::TimeZoneMonitor> receiver) {
if (!time_zone_monitor_)
time_zone_monitor_ = TimeZoneMonitor::Create(file_task_runner_);
time_zone_monitor_->Bind(std::move(request));
time_zone_monitor_->Bind(std::move(receiver));
}
void DeviceService::BindWakeLockProviderReceiver(
......
......@@ -180,7 +180,8 @@ class DeviceService : public service_manager::Service {
void BindSensorProviderRequest(mojom::SensorProviderRequest request);
void BindTimeZoneMonitorRequest(mojom::TimeZoneMonitorRequest request);
void BindTimeZoneMonitorReceiver(
mojo::PendingReceiver<mojom::TimeZoneMonitor> receiver);
void BindWakeLockProviderReceiver(
mojo::PendingReceiver<mojom::WakeLockProvider> receiver);
......
......@@ -23,8 +23,9 @@ TimeZoneMonitor::~TimeZoneMonitor() {
DCHECK(thread_checker_.CalledOnValidThread());
}
void TimeZoneMonitor::Bind(device::mojom::TimeZoneMonitorRequest request) {
bindings_.AddBinding(this, std::move(request));
void TimeZoneMonitor::Bind(
mojo::PendingReceiver<device::mojom::TimeZoneMonitor> receiver) {
receivers_.Add(this, std::move(receiver));
}
void TimeZoneMonitor::NotifyClients() {
......@@ -60,16 +61,13 @@ void TimeZoneMonitor::NotifyClients() {
icu::TimeZone::adoptDefault(new_zone.release());
#endif
clients_.ForAllPtrs(
[&zone_id_str](device::mojom::TimeZoneMonitorClient* client) {
client->OnTimeZoneChange(zone_id_str);
});
for (auto& client : clients_)
client->OnTimeZoneChange(zone_id_str);
}
void TimeZoneMonitor::AddClient(
mojo::PendingRemote<device::mojom::TimeZoneMonitorClient> client) {
clients_.AddPtr(mojo::InterfacePtr<device::mojom::TimeZoneMonitorClient>(
std::move(client)));
clients_.Add(std::move(client));
}
} // namespace device
......@@ -9,9 +9,10 @@
#include "base/macros.h"
#include "base/threading/thread_checker.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/interface_ptr_set.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/bindings/remote_set.h"
#include "services/device/public/mojom/time_zone_monitor.mojom.h"
template <class T>
......@@ -50,7 +51,7 @@ class TimeZoneMonitor : public device::mojom::TimeZoneMonitor {
~TimeZoneMonitor() override;
void Bind(device::mojom::TimeZoneMonitorRequest request);
void Bind(mojo::PendingReceiver<device::mojom::TimeZoneMonitor> receiver);
protected:
TimeZoneMonitor();
......@@ -65,8 +66,8 @@ class TimeZoneMonitor : public device::mojom::TimeZoneMonitor {
void AddClient(mojo::PendingRemote<device::mojom::TimeZoneMonitorClient>
client) override;
mojo::BindingSet<device::mojom::TimeZoneMonitor> bindings_;
mojo::InterfacePtrSet<device::mojom::TimeZoneMonitorClient> clients_;
mojo::ReceiverSet<device::mojom::TimeZoneMonitor> receivers_;
mojo::RemoteSet<device::mojom::TimeZoneMonitorClient> clients_;
DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitor);
};
......
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