blob: 1c3fe4019e07b4fa81f5210678b3ae09c3685686 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef REMOTING_PROTOCOL_FAKE_CONNECTION_TO_HOST_H_
#define REMOTING_PROTOCOL_FAKE_CONNECTION_TO_HOST_H_
#include <string>
#include "remoting/protocol/connection_to_host.h"
#include "remoting/protocol/protocol_mock_objects.h"
namespace remoting {
namespace test {
class FakeConnectionToHost : public protocol::ConnectionToHost {
public:
FakeConnectionToHost();
~FakeConnectionToHost() override;
// ConnectionToHost interface.
void set_candidate_config(
scoped_ptr<protocol::CandidateSessionConfig> config) override;
void set_client_stub(protocol::ClientStub* client_stub) override;
void set_clipboard_stub(protocol::ClipboardStub* clipboard_stub) override;
void set_video_stub(protocol::VideoStub* video_stub) override;
void set_audio_stub(protocol::AudioStub* audio_stub) override;
void Connect(SignalStrategy* signal_strategy,
scoped_ptr<protocol::TransportFactory> transport_factory,
scoped_ptr<protocol::Authenticator> authenticator,
const std::string& host_jid,
HostEventCallback* event_callback) override;
const protocol::SessionConfig& config() override;
protocol::ClipboardStub* clipboard_forwarder() override;
protocol::HostStub* host_stub() override;
protocol::InputStub* input_stub() override;
State state() const override;
// Calls OnConnectionState on the |event_callback_| with the supplied state
// and error.
void SignalStateChange(protocol::Session::State state,
protocol::ErrorCode error);
// Calls OnConnectionReady on the |event_callback_| with the supplied bool.
void SignalConnectionReady(bool ready);
private:
void SetState(State state, protocol::ErrorCode error);
State state_;
HostEventCallback* event_callback_;
testing::NiceMock<protocol::MockClipboardStub> mock_clipboard_stub_;
testing::NiceMock<protocol::MockHostStub> mock_host_stub_;
testing::NiceMock<protocol::MockInputStub> mock_input_stub_;
scoped_ptr<protocol::SessionConfig> session_config_;
DISALLOW_COPY_AND_ASSIGN(FakeConnectionToHost);
};
} // namespace test
} // namespace remoting
#endif // REMOTING_PROTOCOL_FAKE_CONNECTION_TO_HOST_H_