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

Side by Side Diff: extensions/browser/api/cast_channel/cast_socket_service.cc

Issue 2926313002: Revert of [cast_channel] Move cast_channel related files from //extensions to //components (Closed)
Patch Set: Created 3 years, 6 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
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/browser/api/cast_channel/cast_socket_service.h"
6
7 #include "base/memory/ptr_util.h"
8 #include "content/public/browser/browser_thread.h"
9
10 using content::BrowserThread;
11
12 namespace extensions {
13 namespace api {
14 namespace cast_channel {
15
16 int CastSocketService::last_channel_id_ = 0;
17
18 CastSocketService::CastSocketService()
19 : RefcountedKeyedService(
20 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)) {
21 DETACH_FROM_THREAD(thread_checker_);
22 }
23
24 CastSocketService::~CastSocketService() {
25 DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
26 }
27
28 int CastSocketService::AddSocket(std::unique_ptr<CastSocket> socket) {
29 DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
30 DCHECK(socket);
31 int id = ++last_channel_id_;
32 socket->set_id(id);
33 sockets_.insert(std::make_pair(id, std::move(socket)));
34 return id;
35 }
36
37 std::unique_ptr<CastSocket> CastSocketService::RemoveSocket(int channel_id) {
38 DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
39 DCHECK(channel_id > 0);
40 auto socket_it = sockets_.find(channel_id);
41
42 std::unique_ptr<CastSocket> socket;
43 if (socket_it != sockets_.end()) {
44 socket = std::move(socket_it->second);
45 sockets_.erase(socket_it);
46 }
47 return socket;
48 }
49
50 CastSocket* CastSocketService::GetSocket(int channel_id) const {
51 DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
52 DCHECK(channel_id > 0);
53 const auto& socket_it = sockets_.find(channel_id);
54 return socket_it == sockets_.end() ? nullptr : socket_it->second.get();
55 }
56
57 void CastSocketService::ShutdownOnUIThread() {}
58
59 } // namespace cast_channel
60 } // namespace api
61 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698