| OLD | NEW |
| 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/host/chromoting_host.h" |
| 6 |
| 7 #include <utility> |
| 8 |
| 5 #include "base/bind.h" | 9 #include "base/bind.h" |
| 6 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| 7 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 8 #include "remoting/base/auto_thread_task_runner.h" | 12 #include "remoting/base/auto_thread_task_runner.h" |
| 9 #include "remoting/host/audio_capturer.h" | 13 #include "remoting/host/audio_capturer.h" |
| 10 #include "remoting/host/chromoting_host.h" | |
| 11 #include "remoting/host/chromoting_host_context.h" | 14 #include "remoting/host/chromoting_host_context.h" |
| 12 #include "remoting/host/fake_desktop_environment.h" | 15 #include "remoting/host/fake_desktop_environment.h" |
| 13 #include "remoting/host/fake_mouse_cursor_monitor.h" | 16 #include "remoting/host/fake_mouse_cursor_monitor.h" |
| 14 #include "remoting/host/host_mock_objects.h" | 17 #include "remoting/host/host_mock_objects.h" |
| 15 #include "remoting/proto/video.pb.h" | 18 #include "remoting/proto/video.pb.h" |
| 16 #include "remoting/protocol/errors.h" | 19 #include "remoting/protocol/errors.h" |
| 17 #include "remoting/protocol/fake_connection_to_client.h" | 20 #include "remoting/protocol/fake_connection_to_client.h" |
| 18 #include "remoting/protocol/fake_desktop_capturer.h" | 21 #include "remoting/protocol/fake_desktop_capturer.h" |
| 19 #include "remoting/protocol/protocol_mock_objects.h" | 22 #include "remoting/protocol/protocol_mock_objects.h" |
| 20 #include "remoting/protocol/session_config.h" | 23 #include "remoting/protocol/session_config.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 owned_connection2_.reset( | 117 owned_connection2_.reset( |
| 115 new protocol::FakeConnectionToClient(make_scoped_ptr(session2_))); | 118 new protocol::FakeConnectionToClient(make_scoped_ptr(session2_))); |
| 116 owned_connection2_->set_host_stub(&host_stub2_); | 119 owned_connection2_->set_host_stub(&host_stub2_); |
| 117 connection2_ = owned_connection2_.get(); | 120 connection2_ = owned_connection2_.get(); |
| 118 connection2_->set_client_stub(&client_stub2_); | 121 connection2_->set_client_stub(&client_stub2_); |
| 119 } | 122 } |
| 120 | 123 |
| 121 // Helper method to pretend a client is connected to ChromotingHost. | 124 // Helper method to pretend a client is connected to ChromotingHost. |
| 122 void SimulateClientConnection(int connection_index, bool authenticate, | 125 void SimulateClientConnection(int connection_index, bool authenticate, |
| 123 bool reject) { | 126 bool reject) { |
| 124 scoped_ptr<protocol::ConnectionToClient> connection = | 127 scoped_ptr<protocol::ConnectionToClient> connection = std::move( |
| 125 ((connection_index == 0) ? owned_connection1_ : owned_connection2_) | 128 (connection_index == 0) ? owned_connection1_ : owned_connection2_); |
| 126 .Pass(); | |
| 127 protocol::ConnectionToClient* connection_ptr = connection.get(); | 129 protocol::ConnectionToClient* connection_ptr = connection.get(); |
| 128 scoped_ptr<ClientSession> client(new ClientSession( | 130 scoped_ptr<ClientSession> client(new ClientSession( |
| 129 host_.get(), | 131 host_.get(), |
| 130 task_runner_, // Audio | 132 task_runner_, // Audio |
| 131 task_runner_, // Input | 133 task_runner_, // Input |
| 132 task_runner_, // Video capture | 134 task_runner_, // Video capture |
| 133 task_runner_, // Video encode | 135 task_runner_, // Video encode |
| 134 task_runner_, // Network | 136 task_runner_, // Network |
| 135 task_runner_, // UI | 137 task_runner_, // UI |
| 136 connection.Pass(), | 138 std::move(connection), desktop_environment_factory_.get(), |
| 137 desktop_environment_factory_.get(), | 139 base::TimeDelta(), nullptr, std::vector<HostExtension*>())); |
| 138 base::TimeDelta(), | |
| 139 nullptr, | |
| 140 std::vector<HostExtension*>())); | |
| 141 ClientSession* client_ptr = client.get(); | 140 ClientSession* client_ptr = client.get(); |
| 142 | 141 |
| 143 connection_ptr->set_host_stub(client.get()); | 142 connection_ptr->set_host_stub(client.get()); |
| 144 get_client(connection_index) = client_ptr; | 143 get_client(connection_index) = client_ptr; |
| 145 | 144 |
| 146 // |host| is responsible for deleting |client| from now on. | 145 // |host| is responsible for deleting |client| from now on. |
| 147 host_->clients_.push_back(client.release()); | 146 host_->clients_.push_back(client.release()); |
| 148 | 147 |
| 149 if (authenticate) { | 148 if (authenticate) { |
| 150 client_ptr->OnConnectionAuthenticated(connection_ptr); | 149 client_ptr->OnConnectionAuthenticated(connection_ptr); |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 | 398 |
| 400 ExpectClientConnected(0); | 399 ExpectClientConnected(0); |
| 401 SimulateClientConnection(0, true, false); | 400 SimulateClientConnection(0, true, false); |
| 402 | 401 |
| 403 ExpectClientDisconnected(0); | 402 ExpectClientDisconnected(0); |
| 404 DisconnectAllClients(); | 403 DisconnectAllClients(); |
| 405 testing::Mock::VerifyAndClearExpectations(&host_status_observer_); | 404 testing::Mock::VerifyAndClearExpectations(&host_status_observer_); |
| 406 } | 405 } |
| 407 | 406 |
| 408 } // namespace remoting | 407 } // namespace remoting |
| OLD | NEW |