#include "remoting/host/host_window_proxy.h"
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/notreached.h"
#include "base/task/single_thread_task_runner.h"
#include "remoting/host/client_session_control.h"
#include "remoting/proto/control.pb.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
#include "ui/events/event.h"
namespace remoting {
class HostWindowProxy::Core : public base::RefCountedThreadSafe<Core>,
public ClientSessionControl { … };
HostWindowProxy::HostWindowProxy(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
std::unique_ptr<HostWindow> host_window) { … }
HostWindowProxy::~HostWindowProxy() { … }
void HostWindowProxy::Start(
const base::WeakPtr<ClientSessionControl>& client_session_control) { … }
HostWindowProxy::Core::Core(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
std::unique_ptr<HostWindow> host_window)
: … { … }
void HostWindowProxy::Core::Start(
const base::WeakPtr<ClientSessionControl>& client_session_control) { … }
void HostWindowProxy::Core::Stop() { … }
HostWindowProxy::Core::~Core() { … }
void HostWindowProxy::Core::StartOnUiThread(const std::string& client_jid) { … }
void HostWindowProxy::Core::StopOnUiThread() { … }
const std::string& HostWindowProxy::Core::client_jid() const { … }
void HostWindowProxy::Core::DisconnectSession(protocol::ErrorCode error) { … }
void HostWindowProxy::Core::OnLocalKeyPressed(uint32_t usb_keycode) { … }
void HostWindowProxy::Core::OnLocalPointerMoved(
const webrtc::DesktopVector& position,
ui::EventType type) { … }
void HostWindowProxy::Core::SetDisableInputs(bool disable_inputs) { … }
void HostWindowProxy::Core::OnDesktopDisplayChanged(
std::unique_ptr<protocol::VideoLayout> layout) { … }
}