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

Unified Diff: remoting/protocol/fake_session.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 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/protocol/fake_session.h ('k') | remoting/protocol/ice_connection_to_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/protocol/fake_session.cc
diff --git a/remoting/protocol/fake_session.cc b/remoting/protocol/fake_session.cc
index 46edfe95ce33ef56f2784180bdf9c50e9bb56711..616d12d24d61df2e4d47fb419cc082f603b77bcc 100644
--- a/remoting/protocol/fake_session.cc
+++ b/remoting/protocol/fake_session.cc
@@ -4,57 +4,46 @@
#include "remoting/protocol/fake_session.h"
+#include "base/location.h"
+#include "base/thread_task_runner_handle.h"
+#include "remoting/protocol/fake_authenticator.h"
+#include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
+
namespace remoting {
namespace protocol {
const char kTestJid[] = "host1@gmail.com/chromoting123";
-FakeTransport::FakeTransport() {}
-FakeTransport::~FakeTransport() {}
-
-void FakeTransport::Start(EventHandler* event_handler,
- Authenticator* authenticator) {
- NOTREACHED();
-}
-
-bool FakeTransport::ProcessTransportInfo(
- buzz::XmlElement* transport_info) {
- NOTREACHED();
- return true;
-}
-
-FakeStreamChannelFactory* FakeTransport::GetStreamChannelFactory() {
- return &channel_factory_;
-}
-
-FakeStreamChannelFactory* FakeTransport::GetMultiplexedChannelFactory() {
- return &channel_factory_;
-}
-
FakeSession::FakeSession()
: config_(SessionConfig::ForTest()), jid_(kTestJid), weak_factory_(this) {}
-
FakeSession::~FakeSession() {}
void FakeSession::SimulateConnection(FakeSession* peer) {
peer_ = peer->weak_factory_.GetWeakPtr();
peer->peer_ = weak_factory_.GetWeakPtr();
- transport_.GetStreamChannelFactory()->PairWith(
- peer->transport_.GetStreamChannelFactory());
- transport_.GetMultiplexedChannelFactory()->PairWith(
- peer->transport_.GetMultiplexedChannelFactory());
-
event_handler_->OnSessionStateChange(CONNECTING);
peer->event_handler_->OnSessionStateChange(ACCEPTING);
peer->event_handler_->OnSessionStateChange(ACCEPTED);
event_handler_->OnSessionStateChange(ACCEPTED);
event_handler_->OnSessionStateChange(AUTHENTICATING);
peer->event_handler_->OnSessionStateChange(AUTHENTICATING);
- event_handler_->OnSessionStateChange(AUTHENTICATED);
+
+ // Initialize transport and authenticator on the client.
+ authenticator_.reset(new FakeAuthenticator(FakeAuthenticator::CLIENT, 0,
+ FakeAuthenticator::ACCEPT, false));
+ transport_->Start(authenticator_.get(),
+ base::Bind(&FakeSession::SendTransportInfo,
+ weak_factory_.GetWeakPtr()));
+
+ // Initialize transport and authenticator on the host.
+ peer->authenticator_.reset(new FakeAuthenticator(
+ FakeAuthenticator::HOST, 0, FakeAuthenticator::ACCEPT, false));
+ peer->transport_->Start(peer->authenticator_.get(),
+ base::Bind(&FakeSession::SendTransportInfo, peer_));
+
peer->event_handler_->OnSessionStateChange(AUTHENTICATED);
- event_handler_->OnSessionStateChange(CONNECTED);
- peer->event_handler_->OnSessionStateChange(CONNECTED);
+ event_handler_->OnSessionStateChange(AUTHENTICATED);
}
void FakeSession::SetEventHandler(EventHandler* event_handler) {
@@ -73,8 +62,8 @@ const SessionConfig& FakeSession::config() {
return *config_;
}
-FakeTransport* FakeSession::GetTransport() {
- return &transport_;
+void FakeSession::SetTransport(Transport* transport) {
+ transport_ = transport;
}
void FakeSession::Close(ErrorCode error) {
@@ -90,5 +79,12 @@ void FakeSession::Close(ErrorCode error) {
}
}
+void FakeSession::SendTransportInfo(
+ scoped_ptr<buzz::XmlElement> transport_info) {
+ if (!peer_)
+ return;
+ peer_->transport_->ProcessTransportInfo(transport_info.get());
+}
+
} // namespace protocol
} // namespace remoting
« no previous file with comments | « remoting/protocol/fake_session.h ('k') | remoting/protocol/ice_connection_to_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698