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

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

Issue 2692993006: Port device_sensors to be hosted in Device Service (Closed)
Patch Set: code rebase Created 3 years, 10 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 "device/sensors/public/interfaces/light.mojom.h"
10 #include "device/sensors/public/interfaces/motion.mojom.h"
11 #include "device/sensors/public/interfaces/orientation.mojom.h"
9 #include "mojo/public/cpp/bindings/binding_set.h" 12 #include "mojo/public/cpp/bindings/binding_set.h"
10 #include "services/device/public/interfaces/power_monitor.mojom.h" 13 #include "services/device/public/interfaces/power_monitor.mojom.h"
11 #include "services/device/public/interfaces/time_zone_monitor.mojom.h" 14 #include "services/device/public/interfaces/time_zone_monitor.mojom.h"
12 #include "services/service_manager/public/cpp/interface_factory.h" 15 #include "services/service_manager/public/cpp/interface_factory.h"
13 #include "services/service_manager/public/cpp/service.h" 16 #include "services/service_manager/public/cpp/service.h"
14 17
15 namespace device { 18 namespace device {
16 19
17 class TimeZoneMonitor; 20 class TimeZoneMonitor;
18 21
19 std::unique_ptr<service_manager::Service> CreateDeviceService( 22 std::unique_ptr<service_manager::Service> CreateDeviceService(
20 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 23 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
24 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner);
21 25
22 class DeviceService 26 class DeviceService
23 : public service_manager::Service, 27 : public service_manager::Service,
28 public service_manager::InterfaceFactory<mojom::LightSensor>,
29 public service_manager::InterfaceFactory<mojom::MotionSensor>,
30 public service_manager::InterfaceFactory<mojom::OrientationSensor>,
31 public service_manager::InterfaceFactory<
32 mojom::OrientationAbsoluteSensor>,
24 public service_manager::InterfaceFactory<mojom::PowerMonitor>, 33 public service_manager::InterfaceFactory<mojom::PowerMonitor>,
25 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor> { 34 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor> {
26 public: 35 public:
27 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 36 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
37 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner);
28 ~DeviceService() override; 38 ~DeviceService() override;
29 39
30 private: 40 private:
31 // service_manager::Service: 41 // service_manager::Service:
32 void OnStart() override; 42 void OnStart() override;
33 bool OnConnect(const service_manager::ServiceInfo& remote_info, 43 bool OnConnect(const service_manager::ServiceInfo& remote_info,
34 service_manager::InterfaceRegistry* registry) override; 44 service_manager::InterfaceRegistry* registry) override;
35 45
46 // InterfaceFactory<mojom::LightSensor>:
47 void Create(const service_manager::Identity& remote_identity,
48 mojom::LightSensorRequest request) override;
49
50 // InterfaceFactory<mojom::MotionSensor>:
51 void Create(const service_manager::Identity& remote_identity,
52 mojom::MotionSensorRequest request) override;
53
54 // InterfaceFactory<mojom::OrientationSensor>:
55 void Create(const service_manager::Identity& remote_identity,
56 mojom::OrientationSensorRequest request) override;
57
58 // InterfaceFactory<mojom::OrientationAbsolueSensor>:
59 void Create(const service_manager::Identity& remote_identity,
60 mojom::OrientationAbsoluteSensorRequest request) override;
61
36 // InterfaceFactory<mojom::PowerMonitor>: 62 // InterfaceFactory<mojom::PowerMonitor>:
37 void Create(const service_manager::Identity& remote_identity, 63 void Create(const service_manager::Identity& remote_identity,
38 mojom::PowerMonitorRequest request) override; 64 mojom::PowerMonitorRequest request) override;
39 65
40 // InterfaceFactory<mojom::TimeZoneMonitor>: 66 // InterfaceFactory<mojom::TimeZoneMonitor>:
41 void Create(const service_manager::Identity& remote_identity, 67 void Create(const service_manager::Identity& remote_identity,
42 mojom::TimeZoneMonitorRequest request) override; 68 mojom::TimeZoneMonitorRequest request) override;
43 69
44 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_; 70 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_;
45 71
46 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; 72 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_;
73 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
47 74
48 DISALLOW_COPY_AND_ASSIGN(DeviceService); 75 DISALLOW_COPY_AND_ASSIGN(DeviceService);
49 }; 76 };
50 77
51 } // namespace device 78 } // namespace device
52 79
53 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_ 80 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698