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

Unified Diff: remoting/protocol/jingle_session.cc

Issue 7605018: Simplify channel creation callbacks in remoting::Session interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/jingle_session.cc
diff --git a/remoting/protocol/jingle_session.cc b/remoting/protocol/jingle_session.cc
index 7980de4813ebdee4a715b32c53f94b8b2e6d5f44..9e1e43fb893245620bec0efe699312a8147df676 100644
--- a/remoting/protocol/jingle_session.cc
+++ b/remoting/protocol/jingle_session.cc
@@ -488,34 +488,27 @@ void JingleSession::OnChannelConnectorFinished(
}
void JingleSession::CreateChannels() {
- StreamChannelCallback stream_callback(
- base::Bind(&JingleSession::OnStreamChannelConnected,
- base::Unretained(this)));
- CreateStreamChannel(kControlChannelName, stream_callback);
- CreateStreamChannel(kEventChannelName, stream_callback);
-}
-
-void JingleSession::OnStreamChannelConnected(const std::string& name,
- net::StreamSocket* socket) {
- OnChannelConnected(name, socket);
-}
-
-void JingleSession::OnChannelConnected(const std::string& name,
- net::Socket* socket) {
+ CreateStreamChannel(
+ kControlChannelName,
+ base::Bind(&JingleSession::OnChannelConnected,
+ base::Unretained(this), &control_channel_socket_));
+ CreateStreamChannel(
+ kEventChannelName,
+ base::Bind(&JingleSession::OnChannelConnected,
+ base::Unretained(this), &event_channel_socket_));
+}
+
+void JingleSession::OnChannelConnected(
+ scoped_ptr<net::Socket>* socket_container,
+ net::StreamSocket* socket) {
if (!socket) {
- LOG(ERROR) << "Failed to connect channel " << name
- << ". Terminating connection";
+ LOG(ERROR) << "Failed to connect control or events channel. "
+ << "Terminating connection";
CloseInternal(net::ERR_CONNECTION_CLOSED, true);
return;
}
- if (name == kControlChannelName) {
- control_channel_socket_.reset(socket);
- } else if (name == kEventChannelName) {
- event_channel_socket_.reset(socket);
- } else {
- NOTREACHED();
- }
+ socket_container->reset(socket);
if (control_channel_socket_.get() && event_channel_socket_.get()) {
// TODO(sergeyu): State should be set to CONNECTED in OnAccept

Powered by Google App Engine
This is Rietveld 408576698