| OLD | NEW | 
|---|
| 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 #include "services/device/device_service.h" | 5 #include "services/device/device_service.h" | 
| 6 | 6 | 
|  | 7 #include <utility> | 
|  | 8 | 
| 7 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 8 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" | 
| 9 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" | 
| 10 #include "base/single_thread_task_runner.h" | 12 #include "base/single_thread_task_runner.h" | 
| 11 #include "base/threading/thread_task_runner_handle.h" | 13 #include "base/threading/thread_task_runner_handle.h" | 
|  | 14 #include "device/wake_lock/wake_lock_context_provider.h" | 
| 12 #include "services/device/fingerprint/fingerprint.h" | 15 #include "services/device/fingerprint/fingerprint.h" | 
| 13 #include "services/device/power_monitor/power_monitor_message_broadcaster.h" | 16 #include "services/device/power_monitor/power_monitor_message_broadcaster.h" | 
| 14 #include "services/device/time_zone_monitor/time_zone_monitor.h" | 17 #include "services/device/time_zone_monitor/time_zone_monitor.h" | 
| 15 #include "services/service_manager/public/cpp/connection.h" | 18 #include "services/service_manager/public/cpp/connection.h" | 
| 16 #include "services/service_manager/public/cpp/interface_registry.h" | 19 #include "services/service_manager/public/cpp/interface_registry.h" | 
|  | 20 #include "ui/gfx/native_widget_types.h" | 
| 17 | 21 | 
| 18 #if defined(OS_ANDROID) | 22 #if defined(OS_ANDROID) | 
| 19 #include "services/device/android/register_jni.h" | 23 #include "services/device/android/register_jni.h" | 
| 20 #include "services/device/screen_orientation/screen_orientation_listener_android
     .h" | 24 #include "services/device/screen_orientation/screen_orientation_listener_android
     .h" | 
| 21 #endif | 25 #endif | 
| 22 | 26 | 
| 23 namespace device { | 27 namespace device { | 
| 24 | 28 | 
|  | 29 #if defined(OS_ANDROID) | 
| 25 std::unique_ptr<service_manager::Service> CreateDeviceService( | 30 std::unique_ptr<service_manager::Service> CreateDeviceService( | 
| 26     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 31     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 
| 27     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner) { | 32     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, | 
| 28 #if defined(OS_ANDROID) | 33     const WakeLockContextCallback& wake_lock_context_callback) { | 
| 29   if (!EnsureJniRegistered()) { | 34   if (!EnsureJniRegistered()) { | 
| 30     DLOG(ERROR) << "Failed to register JNI for Device Service"; | 35     DLOG(ERROR) << "Failed to register JNI for Device Service"; | 
| 31     return nullptr; | 36     return nullptr; | 
| 32   } | 37   } | 
| 33 #endif |  | 
| 34 | 38 | 
| 35   return base::MakeUnique<DeviceService>(std::move(file_task_runner), | 39   return base::MakeUnique<DeviceService>(std::move(file_task_runner), | 
|  | 40                                          std::move(io_task_runner), | 
|  | 41                                          wake_lock_context_callback); | 
|  | 42 } | 
|  | 43 #else | 
|  | 44 std::unique_ptr<service_manager::Service> CreateDeviceService( | 
|  | 45     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 
|  | 46     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner) { | 
|  | 47   return base::MakeUnique<DeviceService>(std::move(file_task_runner), | 
| 36                                          std::move(io_task_runner)); | 48                                          std::move(io_task_runner)); | 
| 37 } | 49 } | 
|  | 50 #endif | 
| 38 | 51 | 
|  | 52 #if defined(OS_ANDROID) | 
|  | 53 DeviceService::DeviceService( | 
|  | 54     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 
|  | 55     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, | 
|  | 56     const WakeLockContextCallback& wake_lock_context_callback) | 
|  | 57     : file_task_runner_(std::move(file_task_runner)), | 
|  | 58       io_task_runner_(std::move(io_task_runner)), | 
|  | 59       wake_lock_context_callback_(wake_lock_context_callback) {} | 
|  | 60 #else | 
| 39 DeviceService::DeviceService( | 61 DeviceService::DeviceService( | 
| 40     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 62     scoped_refptr<base::SingleThreadTaskRunner> file_task_runner, | 
| 41     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner) | 63     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner) | 
| 42     : file_task_runner_(std::move(file_task_runner)), | 64     : file_task_runner_(std::move(file_task_runner)), | 
| 43       io_task_runner_(std::move(io_task_runner)) {} | 65       io_task_runner_(std::move(io_task_runner)) {} | 
|  | 66 #endif | 
| 44 | 67 | 
| 45 DeviceService::~DeviceService() {} | 68 DeviceService::~DeviceService() {} | 
| 46 | 69 | 
| 47 void DeviceService::OnStart() {} | 70 void DeviceService::OnStart() {} | 
| 48 | 71 | 
| 49 bool DeviceService::OnConnect(const service_manager::ServiceInfo& remote_info, | 72 bool DeviceService::OnConnect(const service_manager::ServiceInfo& remote_info, | 
| 50                               service_manager::InterfaceRegistry* registry) { | 73                               service_manager::InterfaceRegistry* registry) { | 
| 51   registry->AddInterface<mojom::Fingerprint>(this); | 74   registry->AddInterface<mojom::Fingerprint>(this); | 
| 52   registry->AddInterface<mojom::PowerMonitor>(this); | 75   registry->AddInterface<mojom::PowerMonitor>(this); | 
| 53   registry->AddInterface<mojom::ScreenOrientationListener>(this); | 76   registry->AddInterface<mojom::ScreenOrientationListener>(this); | 
| 54   registry->AddInterface<mojom::TimeZoneMonitor>(this); | 77   registry->AddInterface<mojom::TimeZoneMonitor>(this); | 
|  | 78   registry->AddInterface<mojom::WakeLockContextProvider>(this); | 
| 55 | 79 | 
| 56   return true; | 80   return true; | 
| 57 } | 81 } | 
| 58 | 82 | 
| 59 void DeviceService::Create(const service_manager::Identity& remote_identity, | 83 void DeviceService::Create(const service_manager::Identity& remote_identity, | 
| 60                            mojom::FingerprintRequest request) { | 84                            mojom::FingerprintRequest request) { | 
| 61   Fingerprint::Create(std::move(request)); | 85   Fingerprint::Create(std::move(request)); | 
| 62 } | 86 } | 
| 63 | 87 | 
| 64 void DeviceService::Create(const service_manager::Identity& remote_identity, | 88 void DeviceService::Create(const service_manager::Identity& remote_identity, | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 81 #endif | 105 #endif | 
| 82 } | 106 } | 
| 83 | 107 | 
| 84 void DeviceService::Create(const service_manager::Identity& remote_identity, | 108 void DeviceService::Create(const service_manager::Identity& remote_identity, | 
| 85                            mojom::TimeZoneMonitorRequest request) { | 109                            mojom::TimeZoneMonitorRequest request) { | 
| 86   if (!time_zone_monitor_) | 110   if (!time_zone_monitor_) | 
| 87     time_zone_monitor_ = TimeZoneMonitor::Create(file_task_runner_); | 111     time_zone_monitor_ = TimeZoneMonitor::Create(file_task_runner_); | 
| 88   time_zone_monitor_->Bind(std::move(request)); | 112   time_zone_monitor_->Bind(std::move(request)); | 
| 89 } | 113 } | 
| 90 | 114 | 
|  | 115 void DeviceService::Create(const service_manager::Identity& remote_identity, | 
|  | 116                            mojom::WakeLockContextProviderRequest request) { | 
|  | 117   WakeLockContextProvider::Create(std::move(request), file_task_runner_, | 
|  | 118                                   wake_lock_context_callback_); | 
|  | 119 } | 
|  | 120 | 
| 91 }  // namespace device | 121 }  // namespace device | 
| OLD | NEW | 
|---|