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

Side by Side Diff: remoting/protocol/jingle_session_manager.cc

Issue 1545743002: Move ownership of Transport out of Session. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_not_pass_client
Patch Set: 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/protocol/jingle_session_manager.h" 5 #include "remoting/protocol/jingle_session_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "remoting/protocol/authenticator.h" 10 #include "remoting/protocol/authenticator.h"
11 #include "remoting/protocol/content_description.h" 11 #include "remoting/protocol/content_description.h"
12 #include "remoting/protocol/jingle_messages.h" 12 #include "remoting/protocol/jingle_messages.h"
13 #include "remoting/protocol/jingle_session.h" 13 #include "remoting/protocol/jingle_session.h"
14 #include "remoting/protocol/transport.h" 14 #include "remoting/protocol/transport.h"
15 #include "remoting/signaling/iq_sender.h" 15 #include "remoting/signaling/iq_sender.h"
16 #include "remoting/signaling/signal_strategy.h" 16 #include "remoting/signaling/signal_strategy.h"
17 #include "third_party/webrtc/base/socketaddress.h" 17 #include "third_party/webrtc/base/socketaddress.h"
18 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" 18 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
19 19
20 using buzz::QName; 20 using buzz::QName;
21 21
22 namespace remoting { 22 namespace remoting {
23 namespace protocol { 23 namespace protocol {
24 24
25 JingleSessionManager::JingleSessionManager( 25 JingleSessionManager::JingleSessionManager(SignalStrategy* signal_strategy)
26 scoped_ptr<TransportFactory> transport_factory, 26 : signal_strategy_(signal_strategy),
27 SignalStrategy* signal_strategy)
28 : transport_factory_(std::move(transport_factory)),
29 signal_strategy_(signal_strategy),
30 protocol_config_(CandidateSessionConfig::CreateDefault()), 27 protocol_config_(CandidateSessionConfig::CreateDefault()),
31 iq_sender_(new IqSender(signal_strategy_)) { 28 iq_sender_(new IqSender(signal_strategy_)) {
32 signal_strategy_->AddListener(this); 29 signal_strategy_->AddListener(this);
33 } 30 }
34 31
35 JingleSessionManager::~JingleSessionManager() { 32 JingleSessionManager::~JingleSessionManager() {
36 DCHECK(sessions_.empty()); 33 DCHECK(sessions_.empty());
37 signal_strategy_->RemoveListener(this); 34 signal_strategy_->RemoveListener(this);
38 } 35 }
39 36
40 void JingleSessionManager::AcceptIncoming( 37 void JingleSessionManager::AcceptIncoming(
41 const IncomingSessionCallback& incoming_session_callback) { 38 const IncomingSessionCallback& incoming_session_callback) {
42 incoming_session_callback_ = incoming_session_callback; 39 incoming_session_callback_ = incoming_session_callback;
43
44 } 40 }
45 41
46 void JingleSessionManager::set_protocol_config( 42 void JingleSessionManager::set_protocol_config(
47 scoped_ptr<CandidateSessionConfig> config) { 43 scoped_ptr<CandidateSessionConfig> config) {
48 protocol_config_ = std::move(config); 44 protocol_config_ = std::move(config);
49 } 45 }
50 46
51 scoped_ptr<Session> JingleSessionManager::Connect( 47 scoped_ptr<Session> JingleSessionManager::Connect(
52 const std::string& host_jid, 48 const std::string& host_jid,
53 scoped_ptr<Authenticator> authenticator) { 49 scoped_ptr<Authenticator> authenticator) {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 signal_strategy_->SendStanza( 142 signal_strategy_->SendStanza(
147 JingleMessageReply(error).ToXml(original_stanza)); 143 JingleMessageReply(error).ToXml(original_stanza));
148 } 144 }
149 145
150 void JingleSessionManager::SessionDestroyed(JingleSession* session) { 146 void JingleSessionManager::SessionDestroyed(JingleSession* session) {
151 sessions_.erase(session->session_id_); 147 sessions_.erase(session->session_id_);
152 } 148 }
153 149
154 } // namespace protocol 150 } // namespace protocol
155 } // namespace remoting 151 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/jingle_session_manager.h ('k') | remoting/protocol/jingle_session_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698