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

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

Issue 2734943003: Device Service: Decouple Wake Lock from //content (Closed)
Patch Set: Bugfix 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 "device/wake_lock/public/interfaces/wake_lock_service_context.mojom.h"
10 #include "device/wake_lock/wake_lock_service_context.h"
9 #include "mojo/public/cpp/bindings/binding_set.h" 11 #include "mojo/public/cpp/bindings/binding_set.h"
10 #include "services/device/public/interfaces/fingerprint.mojom.h" 12 #include "services/device/public/interfaces/fingerprint.mojom.h"
11 #include "services/device/public/interfaces/power_monitor.mojom.h" 13 #include "services/device/public/interfaces/power_monitor.mojom.h"
12 #include "services/device/public/interfaces/time_zone_monitor.mojom.h" 14 #include "services/device/public/interfaces/time_zone_monitor.mojom.h"
13 #include "services/service_manager/public/cpp/interface_factory.h" 15 #include "services/service_manager/public/cpp/interface_factory.h"
14 #include "services/service_manager/public/cpp/service.h" 16 #include "services/service_manager/public/cpp/service.h"
15 17
16 namespace device { 18 namespace device {
17 19
18 class PowerMonitorMessageBroadcaster; 20 class PowerMonitorMessageBroadcaster;
19 class TimeZoneMonitor; 21 class TimeZoneMonitor;
20 22
23 #if defined(OS_ANDROID)
24 std::unique_ptr<service_manager::Service> CreateDeviceService(
25 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
26 WakeLockContextCallback wake_lock_context_callback);
27 #else
21 std::unique_ptr<service_manager::Service> CreateDeviceService( 28 std::unique_ptr<service_manager::Service> CreateDeviceService(
22 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 29 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner);
30 #endif
23 31
24 class DeviceService 32 class DeviceService
25 : public service_manager::Service, 33 : public service_manager::Service,
26 public service_manager::InterfaceFactory<mojom::Fingerprint>, 34 public service_manager::InterfaceFactory<mojom::Fingerprint>,
27 public service_manager::InterfaceFactory<mojom::PowerMonitor>, 35 public service_manager::InterfaceFactory<mojom::PowerMonitor>,
28 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor> { 36 public service_manager::InterfaceFactory<mojom::TimeZoneMonitor>,
37 public service_manager::InterfaceFactory<mojom::WakeLockServiceContext> {
29 public: 38 public:
39 #if defined(OS_ANDROID)
40 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
41 WakeLockContextCallback wake_lock_context_callback);
42 #else
30 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); 43 DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner);
44 #endif
31 ~DeviceService() override; 45 ~DeviceService() override;
32 46
33 private: 47 private:
34 // service_manager::Service: 48 // service_manager::Service:
35 void OnStart() override; 49 void OnStart() override;
36 bool OnConnect(const service_manager::ServiceInfo& remote_info, 50 bool OnConnect(const service_manager::ServiceInfo& remote_info,
37 service_manager::InterfaceRegistry* registry) override; 51 service_manager::InterfaceRegistry* registry) override;
38 52
39 // InterfaceFactory<mojom::Fingerprint>: 53 // InterfaceFactory<mojom::Fingerprint>:
40 void Create(const service_manager::Identity& remote_identity, 54 void Create(const service_manager::Identity& remote_identity,
41 mojom::FingerprintRequest request) override; 55 mojom::FingerprintRequest request) override;
42 56
43 // InterfaceFactory<mojom::PowerMonitor>: 57 // InterfaceFactory<mojom::PowerMonitor>:
44 void Create(const service_manager::Identity& remote_identity, 58 void Create(const service_manager::Identity& remote_identity,
45 mojom::PowerMonitorRequest request) override; 59 mojom::PowerMonitorRequest request) override;
46 60
47 // InterfaceFactory<mojom::TimeZoneMonitor>: 61 // InterfaceFactory<mojom::TimeZoneMonitor>:
48 void Create(const service_manager::Identity& remote_identity, 62 void Create(const service_manager::Identity& remote_identity,
49 mojom::TimeZoneMonitorRequest request) override; 63 mojom::TimeZoneMonitorRequest request) override;
50 64
65 // InterfaceFactory<mojom::WakeLockServiceContext>:
66 void Create(const service_manager::Identity& remote_identity,
67 mojom::WakeLockServiceContextRequest request) override;
68
51 std::unique_ptr<device::PowerMonitorMessageBroadcaster> 69 std::unique_ptr<device::PowerMonitorMessageBroadcaster>
52 power_monitor_message_broadcaster_; 70 power_monitor_message_broadcaster_;
53 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_; 71 std::unique_ptr<device::TimeZoneMonitor> time_zone_monitor_;
54 72
55 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; 73 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_;
56 74
75 WakeLockContextCallback wake_lock_context_callback_;
76
57 DISALLOW_COPY_AND_ASSIGN(DeviceService); 77 DISALLOW_COPY_AND_ASSIGN(DeviceService);
58 }; 78 };
59 79
60 } // namespace device 80 } // namespace device
61 81
62 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_ 82 #endif // SERVICES_DEVICE_DEVICE_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698