#include "remoting/host/desktop_process.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop/message_pump_type.h"
#include "base/notreached.h"
#include "base/task/current_thread.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "ipc/ipc_channel_proxy.h"
#include "remoting/base/auto_thread.h"
#include "remoting/base/auto_thread_task_runner.h"
#include "remoting/host/crash_process.h"
#include "remoting/host/desktop_environment.h"
#include "remoting/host/desktop_session_agent.h"
#if BUILDFLAG(IS_WIN)
#include "base/win/windows_version.h"
#endif
namespace remoting {
DesktopProcess::DesktopProcess(
scoped_refptr<AutoThreadTaskRunner> caller_task_runner,
scoped_refptr<AutoThreadTaskRunner> input_task_runner,
scoped_refptr<AutoThreadTaskRunner> io_task_runner,
mojo::ScopedMessagePipeHandle daemon_channel_handle)
: … { … }
DesktopProcess::~DesktopProcess() { … }
DesktopEnvironmentFactory& DesktopProcess::desktop_environment_factory() { … }
void DesktopProcess::OnNetworkProcessDisconnected() { … }
void DesktopProcess::CrashNetworkProcess(const base::Location& location) { … }
void DesktopProcess::InjectSas() { … }
void DesktopProcess::LockWorkstation() { … }
bool DesktopProcess::OnMessageReceived(const IPC::Message& message) { … }
void DesktopProcess::OnChannelConnected(int32_t peer_pid) { … }
void DesktopProcess::OnChannelError() { … }
void DesktopProcess::OnAssociatedInterfaceRequest(
const std::string& interface_name,
mojo::ScopedInterfaceEndpointHandle handle) { … }
bool DesktopProcess::Start(
std::unique_ptr<DesktopEnvironmentFactory> desktop_environment_factory) { … }
void DesktopProcess::CrashProcess(const std::string& function_name,
const std::string& file_name,
int line_number) { … }
}