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

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

Issue 1451353002: Implement GpuArcVideoService for arc video accelerator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed dcheng's comments Created 4 years, 11 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 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_service_manager.h" 5 #include "components/arc/arc_service_manager.h"
6 6
7 #include <utility>
8
7 #include "base/sequenced_task_runner.h" 9 #include "base/sequenced_task_runner.h"
8 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
9 #include "components/arc/arc_bridge_bootstrap.h" 11 #include "components/arc/arc_bridge_bootstrap.h"
10 #include "components/arc/arc_bridge_service_impl.h" 12 #include "components/arc/arc_bridge_service_impl.h"
11 #include "components/arc/auth/arc_auth_service.h" 13 #include "components/arc/auth/arc_auth_service.h"
12 #include "components/arc/input/arc_input_bridge.h" 14 #include "components/arc/input/arc_input_bridge.h"
13 #include "components/arc/power/arc_power_bridge.h" 15 #include "components/arc/power/arc_power_bridge.h"
14 #include "components/arc/settings/arc_settings_bridge.h" 16 #include "components/arc/settings/arc_settings_bridge.h"
17 #include "components/arc/video/arc_video_bridge.h"
15 18
16 namespace arc { 19 namespace arc {
17 20
18 namespace { 21 namespace {
19 22
20 // Weak pointer. This class is owned by ChromeBrowserMainPartsChromeos. 23 // Weak pointer. This class is owned by ChromeBrowserMainPartsChromeos.
21 ArcServiceManager* g_arc_service_manager = nullptr; 24 ArcServiceManager* g_arc_service_manager = nullptr;
22 25
23 } // namespace 26 } // namespace
24 27
25 ArcServiceManager::ArcServiceManager( 28 ArcServiceManager::ArcServiceManager(
26 scoped_ptr<ArcAuthService> auth_service, 29 scoped_ptr<ArcAuthService> auth_service,
27 scoped_ptr<ArcSettingsBridge> settings_bridge) 30 scoped_ptr<ArcSettingsBridge> settings_bridge,
31 scoped_ptr<ArcVideoBridge> video_bridge)
28 : arc_bridge_service_( 32 : arc_bridge_service_(
29 new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())), 33 new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())),
30 arc_auth_service_(std::move(auth_service)), 34 arc_auth_service_(std::move(auth_service)),
31 arc_input_bridge_(ArcInputBridge::Create(arc_bridge_service_.get())), 35 arc_input_bridge_(ArcInputBridge::Create(arc_bridge_service_.get())),
32 arc_settings_bridge_(std::move(settings_bridge)), 36 arc_settings_bridge_(std::move(settings_bridge)),
33 arc_power_bridge_(new ArcPowerBridge(arc_bridge_service_.get())) { 37 arc_power_bridge_(new ArcPowerBridge(arc_bridge_service_.get())),
38 arc_video_bridge_(std::move(video_bridge)) {
34 DCHECK(!g_arc_service_manager); 39 DCHECK(!g_arc_service_manager);
35 g_arc_service_manager = this; 40 g_arc_service_manager = this;
36 41
37 arc_settings_bridge_->StartObservingBridgeServiceChanges(); 42 arc_settings_bridge_->StartObservingBridgeServiceChanges();
38 arc_auth_service_->StartObservingBridgeServiceChanges(); 43 arc_auth_service_->StartObservingBridgeServiceChanges();
44 arc_video_bridge_->StartObservingBridgeServiceChanges();
39 } 45 }
40 46
41 ArcServiceManager::~ArcServiceManager() { 47 ArcServiceManager::~ArcServiceManager() {
42 DCHECK(thread_checker_.CalledOnValidThread()); 48 DCHECK(thread_checker_.CalledOnValidThread());
43 DCHECK(g_arc_service_manager == this); 49 DCHECK(g_arc_service_manager == this);
44 g_arc_service_manager = nullptr; 50 g_arc_service_manager = nullptr;
45 } 51 }
46 52
47 // static 53 // static
48 ArcServiceManager* ArcServiceManager::Get() { 54 ArcServiceManager* ArcServiceManager::Get() {
49 DCHECK(g_arc_service_manager); 55 DCHECK(g_arc_service_manager);
50 DCHECK(g_arc_service_manager->thread_checker_.CalledOnValidThread()); 56 DCHECK(g_arc_service_manager->thread_checker_.CalledOnValidThread());
51 return g_arc_service_manager; 57 return g_arc_service_manager;
52 } 58 }
53 59
54 ArcBridgeService* ArcServiceManager::arc_bridge_service() { 60 ArcBridgeService* ArcServiceManager::arc_bridge_service() {
55 DCHECK(thread_checker_.CalledOnValidThread()); 61 DCHECK(thread_checker_.CalledOnValidThread());
56 return arc_bridge_service_.get(); 62 return arc_bridge_service_.get();
57 } 63 }
58 64
59 } // namespace arc 65 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698