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

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 Owen's comments: split GpuArcVideoServiceHost and named the new code arc::ArcVideoBridge 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/input/arc_input_bridge.h" 13 #include "components/arc/input/arc_input_bridge.h"
12 #include "components/arc/power/arc_power_bridge.h" 14 #include "components/arc/power/arc_power_bridge.h"
13 #include "components/arc/settings/arc_settings_bridge.h" 15 #include "components/arc/settings/arc_settings_bridge.h"
16 #include "components/arc/video/arc_video_bridge.h"
14 17
15 namespace arc { 18 namespace arc {
16 19
17 namespace { 20 namespace {
18 21
19 // Weak pointer. This class is owned by ChromeBrowserMainPartsChromeos. 22 // Weak pointer. This class is owned by ChromeBrowserMainPartsChromeos.
20 ArcServiceManager* g_arc_service_manager = nullptr; 23 ArcServiceManager* g_arc_service_manager = nullptr;
21 24
22 } // namespace 25 } // namespace
23 26
24 ArcServiceManager::ArcServiceManager( 27 ArcServiceManager::ArcServiceManager(
25 scoped_ptr<ArcSettingsBridge> settings_bridge) 28 scoped_ptr<ArcSettingsBridge> settings_bridge,
29 scoped_ptr<ArcVideoBridge> video_bridge)
26 : arc_bridge_service_( 30 : arc_bridge_service_(
27 new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())), 31 new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())),
28 arc_settings_bridge_(std::move(settings_bridge)) { 32 arc_settings_bridge_(std::move(settings_bridge)),
33 arc_video_bridge_(std::move(video_bridge)) {
29 DCHECK(!g_arc_service_manager); 34 DCHECK(!g_arc_service_manager);
30 arc_input_bridge_ = ArcInputBridge::Create(arc_bridge_service_.get()); 35 arc_input_bridge_ = ArcInputBridge::Create(arc_bridge_service_.get());
31 arc_power_bridge_.reset(new ArcPowerBridge(arc_bridge_service_.get())); 36 arc_power_bridge_.reset(new ArcPowerBridge(arc_bridge_service_.get()));
32 g_arc_service_manager = this; 37 g_arc_service_manager = this;
33 38
34 arc_settings_bridge_->StartObservingBridgeServiceChanges(); 39 arc_settings_bridge_->StartObservingBridgeServiceChanges();
40 arc_video_bridge_->StartObservingBridgeServiceChanges();
35 } 41 }
36 42
37 ArcServiceManager::~ArcServiceManager() { 43 ArcServiceManager::~ArcServiceManager() {
38 DCHECK(thread_checker_.CalledOnValidThread()); 44 DCHECK(thread_checker_.CalledOnValidThread());
39 DCHECK(g_arc_service_manager == this); 45 DCHECK(g_arc_service_manager == this);
40 g_arc_service_manager = nullptr; 46 g_arc_service_manager = nullptr;
41 } 47 }
42 48
43 // static 49 // static
44 ArcServiceManager* ArcServiceManager::Get() { 50 ArcServiceManager* ArcServiceManager::Get() {
45 DCHECK(g_arc_service_manager); 51 DCHECK(g_arc_service_manager);
46 DCHECK(g_arc_service_manager->thread_checker_.CalledOnValidThread()); 52 DCHECK(g_arc_service_manager->thread_checker_.CalledOnValidThread());
47 return g_arc_service_manager; 53 return g_arc_service_manager;
48 } 54 }
49 55
50 ArcBridgeService* ArcServiceManager::arc_bridge_service() { 56 ArcBridgeService* ArcServiceManager::arc_bridge_service() {
51 DCHECK(thread_checker_.CalledOnValidThread()); 57 DCHECK(thread_checker_.CalledOnValidThread());
52 return arc_bridge_service_.get(); 58 return arc_bridge_service_.get();
53 } 59 }
54 60
55 } // namespace arc 61 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698