Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/arc/arc_bridge_service_impl.h" | 5 #include "components/arc/arc_bridge_service_impl.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| 11 #include "base/json/json_writer.h" | 11 #include "base/json/json_writer.h" |
| 12 #include "base/sequenced_task_runner.h" | 12 #include "base/sequenced_task_runner.h" |
| 13 #include "base/sys_info.h" | 13 #include "base/sys_info.h" |
| 14 #include "base/task_runner_util.h" | 14 #include "base/task_runner_util.h" |
| 15 #include "base/threading/thread_task_runner_handle.h" | 15 #include "base/threading/thread_task_runner_handle.h" |
| 16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 17 #include "chromeos/chromeos_switches.h" | 17 #include "chromeos/chromeos_switches.h" |
| 18 #include "chromeos/dbus/dbus_method_call_status.h" | 18 #include "chromeos/dbus/dbus_method_call_status.h" |
| 19 #include "chromeos/dbus/dbus_thread_manager.h" | 19 #include "chromeos/dbus/dbus_thread_manager.h" |
| 20 #include "components/prefs/pref_registry_simple.h" | 20 #include "components/prefs/pref_registry_simple.h" |
| 21 #include "components/prefs/pref_service.h" | 21 #include "components/prefs/pref_service.h" |
| 22 | 22 |
| 23 namespace arc { | 23 namespace arc { |
| 24 | |
| 25 extern ArcBridgeService* g_arc_bridge_service; | |
| 26 | |
| 27 namespace { | 24 namespace { |
| 28 constexpr int64_t kReconnectDelayInSeconds = 5; | 25 constexpr int64_t kReconnectDelayInSeconds = 5; |
|
hidehiko
2016/12/08 15:43:17
FYI/Off-topic: soon, I'll work on refactoring reco
Luis Héctor Chávez
2016/12/08 17:38:25
sgtm, I wrote this before I realized base::TimeDel
| |
| 29 } // namespace | 26 } // namespace |
| 30 | 27 |
| 31 ArcBridgeServiceImpl::ArcBridgeServiceImpl( | 28 ArcBridgeServiceImpl::ArcBridgeServiceImpl( |
| 32 const scoped_refptr<base::TaskRunner>& blocking_task_runner) | 29 const scoped_refptr<base::TaskRunner>& blocking_task_runner) |
| 33 : session_started_(false), | 30 : session_started_(false), |
| 34 factory_(base::Bind(ArcSession::Create, this, blocking_task_runner)), | 31 factory_(base::Bind(ArcSession::Create, this, blocking_task_runner)), |
| 35 weak_factory_(this) { | 32 weak_factory_(this) {} |
| 36 DCHECK(!g_arc_bridge_service); | |
| 37 g_arc_bridge_service = this; | |
| 38 } | |
| 39 | 33 |
| 40 ArcBridgeServiceImpl::~ArcBridgeServiceImpl() { | 34 ArcBridgeServiceImpl::~ArcBridgeServiceImpl() { |
| 41 if (arc_session_) | 35 if (arc_session_) |
| 42 arc_session_->RemoveObserver(this); | 36 arc_session_->RemoveObserver(this); |
| 43 | |
| 44 DCHECK(g_arc_bridge_service == this); | |
| 45 g_arc_bridge_service = nullptr; | |
| 46 } | 37 } |
| 47 | 38 |
| 48 void ArcBridgeServiceImpl::RequestStart() { | 39 void ArcBridgeServiceImpl::RequestStart() { |
| 49 DCHECK(CalledOnValidThread()); | 40 DCHECK(CalledOnValidThread()); |
| 50 if (session_started_) | 41 if (session_started_) |
| 51 return; | 42 return; |
| 52 VLOG(1) << "Session started"; | 43 VLOG(1) << "Session started"; |
| 53 session_started_ = true; | 44 session_started_ = true; |
| 54 PrerequisitesChanged(); | 45 PrerequisitesChanged(); |
| 55 } | 46 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 164 weak_factory_.GetWeakPtr()), | 155 weak_factory_.GetWeakPtr()), |
| 165 base::TimeDelta::FromSeconds(kReconnectDelayInSeconds)); | 156 base::TimeDelta::FromSeconds(kReconnectDelayInSeconds)); |
| 166 } else { | 157 } else { |
| 167 // Restart immediately. | 158 // Restart immediately. |
| 168 PrerequisitesChanged(); | 159 PrerequisitesChanged(); |
| 169 } | 160 } |
| 170 } | 161 } |
| 171 } | 162 } |
| 172 | 163 |
| 173 } // namespace arc | 164 } // namespace arc |
| OLD | NEW |