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

Side by Side Diff: components/arc/arc_bridge_service_impl.cc

Issue 2558313002: Remove explicit singletonness of ArcBridgeService part 5. (Closed)
Patch Set: Created 4 years 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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698