| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef REMOTING_PROTOCOL_JINGLE_SESSION_H_ | 5 #ifndef REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
| 6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_ | 6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
| 7 | 7 |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/task.h" | 9 #include "base/task.h" |
| 10 #include "crypto/rsa_private_key.h" | 10 #include "crypto/rsa_private_key.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 class Socket; | 25 class Socket; |
| 26 class StreamSocket; | 26 class StreamSocket; |
| 27 class X509Certificate; | 27 class X509Certificate; |
| 28 } // namespace net | 28 } // namespace net |
| 29 | 29 |
| 30 namespace remoting { | 30 namespace remoting { |
| 31 | 31 |
| 32 namespace protocol { | 32 namespace protocol { |
| 33 | 33 |
| 34 class JingleSessionManager; | 34 class JingleSessionManager; |
| 35 class SocketWrapper; | |
| 36 | 35 |
| 37 // Implements protocol::Session that work over libjingle session (the | 36 // Implements protocol::Session that work over libjingle session (the |
| 38 // cricket::Session object is passed to Init() method). Created | 37 // cricket::Session object is passed to Init() method). Created |
| 39 // by JingleSessionManager for incoming and outgoing connections. | 38 // by JingleSessionManager for incoming and outgoing connections. |
| 40 class JingleSession : public protocol::Session, | 39 class JingleSession : public protocol::Session, |
| 41 public sigslot::has_slots<> { | 40 public sigslot::has_slots<> { |
| 42 public: | 41 public: |
| 43 static const char kChromotingContentName[]; | 42 static const char kChromotingContentName[]; |
| 44 | 43 |
| 45 // Chromotocol Session interface. | 44 // Chromotocol Session interface. |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 // and runs the SSL protocol over it. Finally |foo_socket_wrapper_| takes | 186 // and runs the SSL protocol over it. Finally |foo_socket_wrapper_| takes |
| 188 // ownership of |foo_ssl_socket_|, wrapping it with a SocketWrapper to work | 187 // ownership of |foo_ssl_socket_|, wrapping it with a SocketWrapper to work |
| 189 // around issues with callers of the resulting Sockets continuing to access | 188 // around issues with callers of the resulting Sockets continuing to access |
| 190 // them after CloseInternal() has completed. | 189 // them after CloseInternal() has completed. |
| 191 // TODO(wez): Fix the tear-down issue and remove SocketWrapper. | 190 // TODO(wez): Fix the tear-down issue and remove SocketWrapper. |
| 192 | 191 |
| 193 cricket::TransportChannel* raw_control_channel_; | 192 cricket::TransportChannel* raw_control_channel_; |
| 194 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> control_channel_; | 193 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> control_channel_; |
| 195 scoped_ptr<net::StreamSocket> control_socket_; | 194 scoped_ptr<net::StreamSocket> control_socket_; |
| 196 scoped_ptr<net::StreamSocket> control_ssl_socket_; | 195 scoped_ptr<net::StreamSocket> control_ssl_socket_; |
| 197 scoped_ptr<SocketWrapper> control_socket_wrapper_; | |
| 198 | 196 |
| 199 cricket::TransportChannel* raw_event_channel_; | 197 cricket::TransportChannel* raw_event_channel_; |
| 200 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> event_channel_; | 198 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> event_channel_; |
| 201 scoped_ptr<net::StreamSocket> event_socket_; | 199 scoped_ptr<net::StreamSocket> event_socket_; |
| 202 scoped_ptr<net::StreamSocket> event_ssl_socket_; | 200 scoped_ptr<net::StreamSocket> event_ssl_socket_; |
| 203 scoped_ptr<SocketWrapper> event_socket_wrapper_; | |
| 204 | 201 |
| 205 cricket::TransportChannel* raw_video_channel_; | 202 cricket::TransportChannel* raw_video_channel_; |
| 206 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_channel_; | 203 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_channel_; |
| 207 scoped_ptr<net::StreamSocket> video_socket_; | 204 scoped_ptr<net::StreamSocket> video_socket_; |
| 208 scoped_ptr<net::StreamSocket> video_ssl_socket_; | 205 scoped_ptr<net::StreamSocket> video_ssl_socket_; |
| 209 scoped_ptr<SocketWrapper> video_socket_wrapper_; | |
| 210 | 206 |
| 211 // Used to verify the certificate received in SSLClientSocket. | 207 // Used to verify the certificate received in SSLClientSocket. |
| 212 scoped_ptr<net::CertVerifier> cert_verifier_; | 208 scoped_ptr<net::CertVerifier> cert_verifier_; |
| 213 | 209 |
| 214 cricket::TransportChannel* raw_video_rtp_channel_; | 210 cricket::TransportChannel* raw_video_rtp_channel_; |
| 215 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtp_channel_; | 211 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtp_channel_; |
| 216 cricket::TransportChannel* raw_video_rtcp_channel_; | 212 cricket::TransportChannel* raw_video_rtcp_channel_; |
| 217 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtcp_channel_; | 213 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtcp_channel_; |
| 218 | 214 |
| 219 // Callback called by the SSL layer. | 215 // Callback called by the SSL layer. |
| 220 net::CompletionCallbackImpl<JingleSession> connect_callback_; | 216 net::CompletionCallbackImpl<JingleSession> connect_callback_; |
| 221 net::CompletionCallbackImpl<JingleSession> ssl_connect_callback_; | 217 net::CompletionCallbackImpl<JingleSession> ssl_connect_callback_; |
| 222 | 218 |
| 223 ScopedRunnableMethodFactory<JingleSession> task_factory_; | 219 ScopedRunnableMethodFactory<JingleSession> task_factory_; |
| 224 | 220 |
| 225 DISALLOW_COPY_AND_ASSIGN(JingleSession); | 221 DISALLOW_COPY_AND_ASSIGN(JingleSession); |
| 226 }; | 222 }; |
| 227 | 223 |
| 228 } // namespace protocol | 224 } // namespace protocol |
| 229 | 225 |
| 230 } // namespace remoting | 226 } // namespace remoting |
| 231 | 227 |
| 232 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_ | 228 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_ |
| OLD | NEW |