Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Side by Side Diff: services/device/device_service.h

Issue 2730333002: Make DeviceSensorService implement MainLoop::DestructionObserver (Closed)
Patch Set: shutdown in UI thread for Android. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SERVICES_DEVICE_DEVICE_SERVICE_H_ 5 #ifndef SERVICES_DEVICE_DEVICE_SERVICE_H_
6 #define SERVICES_DEVICE_DEVICE_SERVICE_H_ 6 #define SERVICES_DEVICE_DEVICE_SERVICE_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "mojo/public/cpp/bindings/binding_set.h" 9 #include "mojo/public/cpp/bindings/binding_set.h"
10 #include "services/device/public/interfaces/fingerprint.mojom.h" 10 #include "services/device/public/interfaces/fingerprint.mojom.h"
11 #include "services/device/public/interfaces/power_monitor.mojom.h" 11 #include "services/device/public/interfaces/power_monitor.mojom.h"
12 #include "services/device/public/interfaces/time_zone_monitor.mojom.h" 12 #include "services/device/public/interfaces/time_zone_monitor.mojom.h"
13 #include "services/service_manager/public/cpp/interface_factory.h" 13 #include "services/service_manager/public/cpp/interface_factory.h"
14 #include "services/service_manager/public/cpp/service.h" 14 #include "services/service_manager/public/cpp/service.h"
15 15
16 namespace device { 16 namespace device {
17 17
18 class PowerMonitorMessageBroadcaster; 18 class PowerMonitorMessageBroadcaster;
19 class TimeZoneMonitor; 19 class TimeZoneMonitor;
20 20
21 std::unique_ptr<service_manager::Service> CreateDeviceService( 21 std::unique_ptr<service_manager::Service> CreateDeviceService(
22 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 22 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
23 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner);
23 24
24 class DeviceService 25 class DeviceService
25 : public service_manager::Service, 26 : public service_manager::Service,
26 public service_manager::InterfaceFactory<mojom::Fingerprint>, 27 public service_manager::InterfaceFactory<mojom::Fingerprint>,
27 public service_manager::InterfaceFactory<mojom::PowerMonitor>, 28 public service_manager::InterfaceFactory<mojom::PowerMonitor>,
28 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor> { 29 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor> {
29 public: 30 public:
30 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 31 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
32 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner);
31 ~DeviceService() override; 33 ~DeviceService() override;
32 34
33 private: 35 private:
34 // service_manager::Service: 36 // service_manager::Service:
35 void OnStart() override; 37 void OnStart() override;
36 bool OnConnect(const service_manager::ServiceInfo& remote_info, 38 bool OnConnect(const service_manager::ServiceInfo& remote_info,
37 service_manager::InterfaceRegistry* registry) override; 39 service_manager::InterfaceRegistry* registry) override;
38 40
39 // InterfaceFactory<mojom::Fingerprint>: 41 // InterfaceFactory<mojom::Fingerprint>:
40 void Create(const service_manager::Identity& remote_identity, 42 void Create(const service_manager::Identity& remote_identity,
41 mojom::FingerprintRequest request) override; 43 mojom::FingerprintRequest request) override;
42 44
43 // InterfaceFactory<mojom::PowerMonitor>: 45 // InterfaceFactory<mojom::PowerMonitor>:
44 void Create(const service_manager::Identity& remote_identity, 46 void Create(const service_manager::Identity& remote_identity,
45 mojom::PowerMonitorRequest request) override; 47 mojom::PowerMonitorRequest request) override;
46 48
47 // InterfaceFactory<mojom::TimeZoneMonitor>: 49 // InterfaceFactory<mojom::TimeZoneMonitor>:
48 void Create(const service_manager::Identity& remote_identity, 50 void Create(const service_manager::Identity& remote_identity,
49 mojom::TimeZoneMonitorRequest request) override; 51 mojom::TimeZoneMonitorRequest request) override;
50 52
51 std::unique_ptr<device::PowerMonitorMessageBroadcaster> 53 std::unique_ptr<device::PowerMonitorMessageBroadcaster>
52 power_monitor_message_broadcaster_; 54 power_monitor_message_broadcaster_;
53 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_; 55 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_;
54 56
55 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; 57 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_;
58 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
56 59
57 DISALLOW_COPY_AND_ASSIGN(DeviceService); 60 DISALLOW_COPY_AND_ASSIGN(DeviceService);
58 }; 61 };
59 62
60 } // namespace device 63 } // namespace device
61 64
62 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_ 65 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698