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

Side by Side Diff: chrome/browser/chromeos/arc/arc_service_launcher.cc

Issue 1641353003: GpuArcVideoService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@arc-4-owen-ArcGpuVideoDecodeAccelerator
Patch Set: address dcheng's comments (uint32) Created 4 years, 8 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 #include "chrome/browser/chromeos/arc/arc_service_launcher.h" 5 #include "chrome/browser/chromeos/arc/arc_service_launcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "chrome/browser/chromeos/arc/arc_auth_service.h" 8 #include "chrome/browser/chromeos/arc/arc_auth_service.h"
9 #include "chrome/browser/chromeos/arc/arc_intent_helper_bridge.h" 9 #include "chrome/browser/chromeos/arc/arc_intent_helper_bridge.h"
10 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h" 10 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h"
11 #include "chrome/browser/chromeos/arc/arc_process_service.h" 11 #include "chrome/browser/chromeos/arc/arc_process_service.h"
12 #include "chrome/browser/chromeos/arc/gpu_arc_video_service_host.h"
12 #include "chromeos/dbus/dbus_thread_manager.h" 13 #include "chromeos/dbus/dbus_thread_manager.h"
13 #include "chromeos/dbus/session_manager_client.h" 14 #include "chromeos/dbus/session_manager_client.h"
14 #include "components/arc/arc_bridge_service.h" 15 #include "components/arc/arc_bridge_service.h"
15 16
16 namespace arc { 17 namespace arc {
17 18
18 ArcServiceLauncher::ArcServiceLauncher() : weak_factory_(this) {} 19 ArcServiceLauncher::ArcServiceLauncher() : weak_factory_(this) {}
19 20
20 ArcServiceLauncher::~ArcServiceLauncher() {} 21 ArcServiceLauncher::~ArcServiceLauncher() {}
21 22
22 void ArcServiceLauncher::Initialize() { 23 void ArcServiceLauncher::Initialize() {
23 // Create ARC service manager. 24 // Create ARC service manager.
24 arc_service_manager_.reset(new ArcServiceManager()); 25 arc_service_manager_.reset(new ArcServiceManager());
25 arc_service_manager_->AddService(make_scoped_ptr( 26 arc_service_manager_->AddService(make_scoped_ptr(
26 new ArcAuthService(arc_service_manager_->arc_bridge_service()))); 27 new ArcAuthService(arc_service_manager_->arc_bridge_service())));
27 arc_service_manager_->AddService(make_scoped_ptr( 28 arc_service_manager_->AddService(make_scoped_ptr(
28 new ArcIntentHelperBridge(arc_service_manager_->arc_bridge_service()))); 29 new ArcIntentHelperBridge(arc_service_manager_->arc_bridge_service())));
29 arc_service_manager_->AddService(make_scoped_ptr( 30 arc_service_manager_->AddService(make_scoped_ptr(
30 new ArcPolicyBridge(arc_service_manager_->arc_bridge_service()))); 31 new ArcPolicyBridge(arc_service_manager_->arc_bridge_service())));
31 arc_service_manager_->AddService(make_scoped_ptr( 32 arc_service_manager_->AddService(make_scoped_ptr(
32 new ArcProcessService(arc_service_manager_->arc_bridge_service()))); 33 new ArcProcessService(arc_service_manager_->arc_bridge_service())));
34 arc_service_manager_->AddService(make_scoped_ptr(
dcheng 2016/04/10 05:01:23 BTW chromeos directory uses base::WrapUnique and s
kcwu 2016/04/11 04:07:32 Thanks for the information, I didn't know WrapUniq
35 new GpuArcVideoServiceHost(arc_service_manager_->arc_bridge_service())));
33 36
34 // Detect availiability. 37 // Detect availability.
35 chromeos::SessionManagerClient* session_manager_client = 38 chromeos::SessionManagerClient* session_manager_client =
36 chromeos::DBusThreadManager::Get()->GetSessionManagerClient(); 39 chromeos::DBusThreadManager::Get()->GetSessionManagerClient();
37 session_manager_client->CheckArcAvailability(base::Bind( 40 session_manager_client->CheckArcAvailability(base::Bind(
38 &ArcServiceLauncher::OnArcAvailable, weak_factory_.GetWeakPtr())); 41 &ArcServiceLauncher::OnArcAvailable, weak_factory_.GetWeakPtr()));
39 } 42 }
40 43
41 void ArcServiceLauncher::Shutdown() { 44 void ArcServiceLauncher::Shutdown() {
42 DCHECK(arc_service_manager_); 45 DCHECK(arc_service_manager_);
43 arc_service_manager_->arc_bridge_service()->Shutdown(); 46 arc_service_manager_->arc_bridge_service()->Shutdown();
44 } 47 }
45 48
46 void ArcServiceLauncher::OnArcAvailable(bool arc_available) { 49 void ArcServiceLauncher::OnArcAvailable(bool arc_available) {
47 arc_service_manager_->arc_bridge_service()->SetDetectedAvailability( 50 arc_service_manager_->arc_bridge_service()->SetDetectedAvailability(
48 arc_available); 51 arc_available);
49 } 52 }
50 53
51 } // namespace arc 54 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698