#include "remoting/host/chromoting_host_services_client.h"
#include "base/environment.h"
#include "base/functional/bind.h"
#include "base/sequence_checker.h"
#include "build/build_config.h"
#include "components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/system/invitation.h"
#include "remoting/host/ipc_constants.h"
#include "remoting/host/mojom/chromoting_host_services.mojom.h"
#if BUILDFLAG(IS_WIN)
#include <windows.h>
#include "base/win/sid.h"
#include "remoting/host/win/acl_util.h"
#endif
namespace remoting {
namespace {
bool g_initialized = …;
mojo::PendingRemote<mojom::ChromotingHostServices> ConnectToServer() { … }
}
#if BUILDFLAG(IS_LINUX)
constexpr char
ChromotingHostServicesClient::kChromeRemoteDesktopSessionEnvVar[];
#endif
ChromotingHostServicesClient::ChromotingHostServicesClient()
: … { … }
ChromotingHostServicesClient::ChromotingHostServicesClient(
std::unique_ptr<base::Environment> environment,
ConnectToServerCallback connect_to_server)
: … { … }
ChromotingHostServicesClient::~ChromotingHostServicesClient() { … }
bool ChromotingHostServicesClient::Initialize() { … }
mojom::ChromotingSessionServices*
ChromotingHostServicesClient::GetSessionServices() const { … }
bool ChromotingHostServicesClient::EnsureConnection() { … }
bool ChromotingHostServicesClient::EnsureSessionServicesBinding() { … }
void ChromotingHostServicesClient::OnDisconnected() { … }
void ChromotingHostServicesClient::OnSessionDisconnected() { … }
}