chromium/remoting/protocol/protocol_mock_objects.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef REMOTING_PROTOCOL_PROTOCOL_MOCK_OBJECTS_H_
#define REMOTING_PROTOCOL_PROTOCOL_MOCK_OBJECTS_H_

#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <utility>

#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/task/single_thread_task_runner.h"
#include "base/values.h"
#include "net/base/ip_endpoint.h"
#include "remoting/proto/internal.pb.h"
#include "remoting/proto/video.pb.h"
#include "remoting/protocol/authenticator.h"
#include "remoting/protocol/channel_authenticator.h"
#include "remoting/protocol/client_stub.h"
#include "remoting/protocol/clipboard_stub.h"
#include "remoting/protocol/connection_to_client.h"
#include "remoting/protocol/host_stub.h"
#include "remoting/protocol/input_stub.h"
#include "remoting/protocol/pairing_registry.h"
#include "remoting/protocol/session.h"
#include "remoting/protocol/session_manager.h"
#include "remoting/protocol/session_observer.h"
#include "remoting/protocol/transport.h"
#include "remoting/protocol/video_stub.h"
#include "remoting/signaling/signaling_address.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/libjingle_xmpp/xmllite/xmlelement.h"

namespace remoting::protocol {

class MockAuthenticator : public Authenticator {};

class MockConnectionToClientEventHandler
    : public ConnectionToClient::EventHandler {};

class MockClipboardStub : public ClipboardStub {};

class MockInputStub : public InputStub {};

class MockHostStub : public HostStub {};

class MockClientStub : public ClientStub {};

class MockCursorShapeStub : public CursorShapeStub {};

class MockVideoStub : public VideoStub {};

class MockSession : public Session {};

class MockSessionManager : public SessionManager {};

class MockSessionObserver : public SessionObserver {};

// Simple delegate that caches information on paired clients in memory.
class MockPairingRegistryDelegate : public PairingRegistry::Delegate {};

class SynchronousPairingRegistry : public PairingRegistry {};

}  // namespace remoting::protocol

#endif  // REMOTING_PROTOCOL_PROTOCOL_MOCK_OBJECTS_H_