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

Unified Diff: components/arc/arc_bridge_service.cc

Issue 2586183002: Refactor ArcSessionRunner part 2. (Closed)
Patch Set: Rebase 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/arc/arc_bridge_service.h ('k') | components/arc/arc_service_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/arc_bridge_service.cc
diff --git a/components/arc/arc_bridge_service.cc b/components/arc/arc_bridge_service.cc
index 6520bb1f1185da1b73d7b2f7b28340bef5c44686..3044d1ea21df1e0fcbf58896a8a8024d92d127f6 100644
--- a/components/arc/arc_bridge_service.cc
+++ b/components/arc/arc_bridge_service.cc
@@ -11,6 +11,7 @@
#include "base/sequenced_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chromeos/chromeos_switches.h"
+#include "components/arc/arc_session_runner.h"
namespace arc {
@@ -21,15 +22,9 @@ const base::Feature kArcEnabledFeature{"EnableARC",
} // namespace
-ArcBridgeService::ArcBridgeService()
- : state_(State::STOPPED),
- stop_reason_(ArcSessionObserver::StopReason::SHUTDOWN),
- weak_factory_(this) {}
+ArcBridgeService::ArcBridgeService() = default;
-ArcBridgeService::~ArcBridgeService() {
- DCHECK(CalledOnValidThread());
- DCHECK(state() == State::STOPPING || state() == State::STOPPED);
-}
+ArcBridgeService::~ArcBridgeService() = default;
// static
bool ArcBridgeService::GetEnabled(const base::CommandLine* command_line) {
@@ -43,50 +38,45 @@ bool ArcBridgeService::GetAvailable(const base::CommandLine* command_line) {
return command_line->HasSwitch(chromeos::switches::kArcAvailable);
}
-void ArcBridgeService::RequestStart() {
- NOTREACHED();
+void ArcBridgeService::InitializeArcSessionRunner(
+ std::unique_ptr<ArcSessionRunner> arc_session_runner) {
+ DCHECK(!arc_session_runner_);
+ arc_session_runner_ = std::move(arc_session_runner);
}
-void ArcBridgeService::RequestStop() {
- NOTREACHED();
+void ArcBridgeService::AddObserver(ArcSessionObserver* observer) {
+ DCHECK(arc_session_runner_);
+ arc_session_runner_->AddObserver(observer);
}
-void ArcBridgeService::OnShutdown() {
- NOTREACHED();
+void ArcBridgeService::RemoveObserver(ArcSessionObserver* observer) {
+ DCHECK(arc_session_runner_);
+ arc_session_runner_->RemoveObserver(observer);
}
-void ArcBridgeService::AddObserver(ArcSessionObserver* observer) {
- DCHECK(CalledOnValidThread());
- observer_list_.AddObserver(observer);
+void ArcBridgeService::RequestStart() {
+ DCHECK(arc_session_runner_);
+ arc_session_runner_->RequestStart();
}
-void ArcBridgeService::RemoveObserver(ArcSessionObserver* observer) {
- DCHECK(CalledOnValidThread());
- observer_list_.RemoveObserver(observer);
+void ArcBridgeService::RequestStop() {
+ DCHECK(arc_session_runner_);
+ arc_session_runner_->RequestStop();
}
-void ArcBridgeService::SetState(State state) {
- DCHECK(CalledOnValidThread());
- DCHECK_NE(state_, state);
- state_ = state;
- VLOG(2) << "State: " << static_cast<uint32_t>(state_);
- if (state_ == State::RUNNING) {
- for (auto& observer : observer_list())
- observer.OnSessionReady();
- } else if (state == State::STOPPED) {
- for (auto& observer : observer_list())
- observer.OnSessionStopped(stop_reason_);
- }
+void ArcBridgeService::OnShutdown() {
+ DCHECK(arc_session_runner_);
+ arc_session_runner_->OnShutdown();
}
-void ArcBridgeService::SetStopReason(
- ArcSessionObserver::StopReason stop_reason) {
- DCHECK(CalledOnValidThread());
- stop_reason_ = stop_reason;
+bool ArcBridgeService::ready() const {
+ DCHECK(arc_session_runner_);
+ return arc_session_runner_->IsRunning();
}
-bool ArcBridgeService::CalledOnValidThread() {
- return thread_checker_.CalledOnValidThread();
+bool ArcBridgeService::stopped() const {
+ DCHECK(arc_session_runner_);
+ return arc_session_runner_->IsStopped();
}
} // namespace arc
« no previous file with comments | « components/arc/arc_bridge_service.h ('k') | components/arc/arc_service_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698