#ifndef REMOTING_TEST_FAKE_ICE_CONNECTION_H_
#define REMOTING_TEST_FAKE_ICE_CONNECTION_H_
#include "remoting/protocol/channel_dispatcher_base.h"
#include "remoting/protocol/ice_transport.h"
namespace remoting {
namespace test {
class FakeIceConnection final
: public protocol::IceTransport::EventHandler,
public protocol::ChannelDispatcherBase::EventHandler {
public:
FakeIceConnection(scoped_refptr<protocol::TransportContext> transport_context,
base::OnceClosure on_closed);
FakeIceConnection(const FakeIceConnection&) = delete;
FakeIceConnection& operator=(const FakeIceConnection&) = delete;
~FakeIceConnection() override;
void OnAuthenticated();
protocol::Transport* transport() { return transport_.get(); }
private:
void OnIceTransportRouteChange(
const std::string& channel_name,
const protocol::TransportRoute& route) override;
void OnIceTransportError(protocol::ErrorCode error) override;
void OnChannelInitialized(
protocol::ChannelDispatcherBase* channel_dispatcher) override;
void OnChannelClosed(
protocol::ChannelDispatcherBase* channel_dispatcher) override;
std::unique_ptr<protocol::IceTransport> transport_;
std::unique_ptr<protocol::ChannelDispatcherBase> control_dispatcher_;
base::OnceClosure on_closed_;
};
}
}
#endif