#include "remoting/client/chromoting_client.h"
#include <memory>
#include <utility>
#include "base/logging.h"
#include "remoting/base/capabilities.h"
#include "remoting/base/constants.h"
#include "remoting/client/client_context.h"
#include "remoting/client/client_user_interface.h"
#include "remoting/protocol/authenticator.h"
#include "remoting/protocol/connection_to_host.h"
#include "remoting/protocol/host_stub.h"
#include "remoting/protocol/ice_connection_to_host.h"
#include "remoting/protocol/jingle_session_manager.h"
#include "remoting/protocol/negotiating_client_authenticator.h"
#include "remoting/protocol/session_config.h"
#include "remoting/protocol/transport_context.h"
#include "remoting/protocol/video_renderer.h"
#include "remoting/protocol/webrtc_connection_to_host.h"
#include "remoting/signaling/signaling_address.h"
#include "remoting/signaling/signaling_id_util.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
namespace remoting {
ChromotingClient::ChromotingClient(
ClientContext* client_context,
ClientUserInterface* user_interface,
protocol::VideoRenderer* video_renderer,
base::WeakPtr<protocol::AudioStub> audio_stream_consumer)
: … { … }
ChromotingClient::~ChromotingClient() { … }
void ChromotingClient::set_protocol_config(
std::unique_ptr<protocol::CandidateSessionConfig> config) { … }
void ChromotingClient::set_host_experiment_config(
const std::string& experiment_config) { … }
void ChromotingClient::SetConnectionToHostForTests(
std::unique_ptr<protocol::ConnectionToHost> connection_to_host) { … }
void ChromotingClient::Start(
SignalStrategy* signal_strategy,
const protocol::ClientAuthenticationConfig& client_auth_config,
scoped_refptr<protocol::TransportContext> transport_context,
const std::string& host_jid,
const std::string& capabilities) { … }
void ChromotingClient::Close() { … }
void ChromotingClient::SetCapabilities(
const protocol::Capabilities& capabilities) { … }
void ChromotingClient::SetPairingResponse(
const protocol::PairingResponse& pairing_response) { … }
void ChromotingClient::DeliverHostMessage(
const protocol::ExtensionMessage& message) { … }
void ChromotingClient::SetVideoLayout(const protocol::VideoLayout& layout) { … }
void ChromotingClient::SetTransportInfo(
const protocol::TransportInfo& transport_info) { … }
void ChromotingClient::SetActiveDisplay(
const protocol::ActiveDisplay& active_display) { … }
void ChromotingClient::InjectClipboardEvent(
const protocol::ClipboardEvent& event) { … }
void ChromotingClient::SetCursorShape(
const protocol::CursorShapeInfo& cursor_shape) { … }
void ChromotingClient::SetKeyboardLayout(
const protocol::KeyboardLayout& layout) { … }
void ChromotingClient::OnConnectionState(
protocol::ConnectionToHost::State state,
protocol::ErrorCode error) { … }
void ChromotingClient::OnConnectionReady(bool ready) { … }
void ChromotingClient::OnRouteChanged(const std::string& channel_name,
const protocol::TransportRoute& route) { … }
void ChromotingClient::OnSignalStrategyStateChange(
SignalStrategy::State state) { … }
bool ChromotingClient::OnSignalStrategyIncomingStanza(
const jingle_xmpp::XmlElement* stanza) { … }
void ChromotingClient::StartConnection() { … }
void ChromotingClient::OnChannelsConnected() { … }
}