| Index: remoting/protocol/webrtc_transport.cc
|
| diff --git a/remoting/protocol/webrtc_transport.cc b/remoting/protocol/webrtc_transport.cc
|
| index 537557ec833a1c81538b9372a1f77f31da5d1db0..59711e0593cc79d1ea05d991be41563fbd3a7671 100644
|
| --- a/remoting/protocol/webrtc_transport.cc
|
| +++ b/remoting/protocol/webrtc_transport.cc
|
| @@ -105,18 +105,23 @@ class SetSessionDescriptionObserver
|
|
|
| WebrtcTransport::WebrtcTransport(
|
| rtc::Thread* worker_thread,
|
| - scoped_refptr<TransportContext> transport_context)
|
| - : transport_context_(transport_context),
|
| - worker_thread_(worker_thread),
|
| + scoped_refptr<TransportContext> transport_context,
|
| + EventHandler* event_handler)
|
| + : worker_thread_(worker_thread),
|
| + transport_context_(transport_context),
|
| + event_handler_(event_handler),
|
| weak_factory_(this) {}
|
|
|
| WebrtcTransport::~WebrtcTransport() {}
|
|
|
| -void WebrtcTransport::Start(EventHandler* event_handler,
|
| - Authenticator* authenticator) {
|
| +void WebrtcTransport::Start(
|
| + Authenticator* authenticator,
|
| + SendTransportInfoCallback send_transport_info_callback) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| + DCHECK(send_transport_info_callback_.is_null());
|
| +
|
| + send_transport_info_callback_ = std::move(send_transport_info_callback);
|
|
|
| - event_handler_ = event_handler;
|
| // TODO(sergeyu): Use the |authenticator| to authenticate PeerConnection.
|
|
|
| transport_context_->CreatePortAllocator(base::Bind(
|
| @@ -248,15 +253,6 @@ StreamChannelFactory* WebrtcTransport::GetStreamChannelFactory() {
|
| return &data_stream_adapter_;
|
| }
|
|
|
| -StreamChannelFactory* WebrtcTransport::GetMultiplexedChannelFactory() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - return GetStreamChannelFactory();
|
| -}
|
| -
|
| -WebrtcTransport* WebrtcTransport::AsWebrtcTransport() {
|
| - return this;
|
| -}
|
| -
|
| void WebrtcTransport::OnLocalSessionDescriptionCreated(
|
| scoped_ptr<webrtc::SessionDescriptionInterface> description,
|
| const std::string& error) {
|
| @@ -287,7 +283,7 @@ void WebrtcTransport::OnLocalSessionDescriptionCreated(
|
| offer_tag->SetAttr(QName(std::string(), "type"), description->type());
|
| offer_tag->SetBodyText(description_sdp);
|
|
|
| - event_handler_->OnOutgoingTransportInfo(std::move(transport_info));
|
| + send_transport_info_callback_.Run(std::move(transport_info));
|
|
|
| peer_connection_->SetLocalDescription(
|
| SetSessionDescriptionObserver::Create(base::Bind(
|
| @@ -346,7 +342,7 @@ void WebrtcTransport::Close(ErrorCode error) {
|
| peer_connection_factory_ = nullptr;
|
|
|
| if (error != OK)
|
| - event_handler_->OnTransportError(error);
|
| + event_handler_->OnWebrtcTransportError(error);
|
| }
|
|
|
| void WebrtcTransport::OnSignalingChange(
|
| @@ -398,7 +394,7 @@ void WebrtcTransport::OnIceConnectionChange(
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| if (new_state == webrtc::PeerConnectionInterface::kIceConnectionConnected)
|
| - event_handler_->OnTransportConnected();
|
| + event_handler_->OnWebrtcTransportConnected();
|
| }
|
|
|
| void WebrtcTransport::OnIceGatheringChange(
|
| @@ -473,9 +469,7 @@ void WebrtcTransport::SendTransportInfo() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK(pending_transport_info_message_);
|
|
|
| - event_handler_->OnOutgoingTransportInfo(
|
| - std::move(pending_transport_info_message_));
|
| - pending_transport_info_message_.reset();
|
| + send_transport_info_callback_.Run(std::move(pending_transport_info_message_));
|
| }
|
|
|
| void WebrtcTransport::AddPendingCandidatesIfPossible() {
|
| @@ -494,18 +488,5 @@ void WebrtcTransport::AddPendingCandidatesIfPossible() {
|
| }
|
| }
|
|
|
| -WebrtcTransportFactory::WebrtcTransportFactory(
|
| - rtc::Thread* worker_thread,
|
| - scoped_refptr<TransportContext> transport_context)
|
| - : worker_thread_(worker_thread),
|
| - transport_context_(transport_context) {}
|
| -
|
| -WebrtcTransportFactory::~WebrtcTransportFactory() {}
|
| -
|
| -scoped_ptr<Transport> WebrtcTransportFactory::CreateTransport() {
|
| - return make_scoped_ptr(
|
| - new WebrtcTransport(worker_thread_, transport_context_.get()));
|
| -}
|
| -
|
| } // namespace protocol
|
| } // namespace remoting
|
|
|