| Index: remoting/client/chromoting_client.h
|
| diff --git a/remoting/client/chromoting_client.h b/remoting/client/chromoting_client.h
|
| index 93daab2150bf181e668c2dc118d31870c279872f..6c179f45008a8f8d826781c5f6dafb5d97c4b9db 100644
|
| --- a/remoting/client/chromoting_client.h
|
| +++ b/remoting/client/chromoting_client.h
|
| @@ -18,6 +18,7 @@
|
| #include "remoting/protocol/input_stub.h"
|
| #include "remoting/protocol/performance_tracker.h"
|
| #include "remoting/protocol/video_stub.h"
|
| +#include "remoting/signaling/signal_strategy.h"
|
|
|
| namespace base {
|
| class SingleThreadTaskRunner;
|
| @@ -37,9 +38,9 @@ class ClientUserInterface;
|
| class FrameConsumerProxy;
|
| class FrameProducer;
|
| class VideoRenderer;
|
| -class SignalStrategy;
|
|
|
| -class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
|
| +class ChromotingClient : public SignalStrategy::Listener,
|
| + public protocol::ConnectionToHost::HostEventCallback,
|
| public protocol::ClientStub {
|
| public:
|
| // |client_context|, |user_interface| and |video_renderer| must outlive the
|
| @@ -52,7 +53,10 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
|
|
|
| ~ChromotingClient() override;
|
|
|
| - void set_protocol_config(scoped_ptr<protocol::CandidateSessionConfig> config);
|
| + void set_protocol_config(
|
| + scoped_ptr<protocol::CandidateSessionConfig> config) {
|
| + protocol_config_ = config.Pass();
|
| + }
|
|
|
| // Used to set fake/mock objects for tests which use the ChromotingClient.
|
| void SetConnectionToHostForTests(
|
| @@ -96,17 +100,32 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
|
| const protocol::TransportRoute& route) override;
|
|
|
| private:
|
| + // SignalStrategy::StatusObserver interface.
|
| + void OnSignalStrategyStateChange(SignalStrategy::State state) override;
|
| + bool OnSignalStrategyIncomingStanza(const buzz::XmlElement* stanza) override;
|
| +
|
| + // Starts connection once |signal_strategy_| is connected.
|
| + void StartConnection();
|
| +
|
| // Called when the connection is authenticated.
|
| void OnAuthenticated();
|
|
|
| // Called when all channels are connected.
|
| void OnChannelsConnected();
|
|
|
| + base::ThreadChecker thread_checker_;
|
| +
|
| + scoped_ptr<protocol::CandidateSessionConfig> protocol_config_;
|
| +
|
| // The following are not owned by this class.
|
| - scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| - ClientUserInterface* user_interface_;
|
| - VideoRenderer* video_renderer_;
|
| + ClientUserInterface* user_interface_ = nullptr;
|
| + VideoRenderer* video_renderer_ = nullptr;
|
| + SignalStrategy* signal_strategy_ = nullptr;
|
| +
|
| + std::string host_jid_;
|
| + scoped_ptr<protocol::Authenticator> authenticator_;
|
|
|
| + scoped_ptr<protocol::SessionManager> session_manager_;
|
| scoped_ptr<protocol::ConnectionToHost> connection_;
|
|
|
| scoped_ptr<AudioDecodeScheduler> audio_decode_scheduler_;
|
| @@ -117,7 +136,7 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
|
| std::string host_capabilities_;
|
|
|
| // True if |protocol::Capabilities| message has been received.
|
| - bool host_capabilities_received_;
|
| + bool host_capabilities_received_ = false;
|
|
|
| // Record the statistics of the connection.
|
| protocol::PerformanceTracker perf_tracker_;
|
|
|