#include "remoting/host/setup/daemon_controller_delegate_linux.h"
#include <unistd.h>
#include <optional>
#include <utility>
#include "base/command_line.h"
#include "base/compiler_specific.h"
#include "base/environment.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/json/json_writer.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/path_service.h"
#include "base/process/launch.h"
#include "base/process/process.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/values.h"
#include "build/build_config.h"
#include "remoting/base/file_path_util_linux.h"
#include "remoting/host/host_config.h"
#include "remoting/host/usage_stats_consent.h"
namespace remoting {
namespace {
#ifndef NDEBUG
const char kDaemonDevScript[] = …;
#endif
const char kDaemonScript[] = …;
const char kHostConfigSwitchName[] = …;
bool start_host_after_setup = …;
base::FilePath GetConfigPath() { … }
bool GetScriptPath(base::FilePath* result) { … }
bool RunHostScript(const std::vector<std::string>& args) { … }
}
DaemonControllerDelegateLinux::DaemonControllerDelegateLinux() = default;
DaemonControllerDelegateLinux::~DaemonControllerDelegateLinux() = default;
DaemonController::State DaemonControllerDelegateLinux::GetState() { … }
std::optional<base::Value::Dict> DaemonControllerDelegateLinux::GetConfig() { … }
void DaemonControllerDelegateLinux::CheckPermission(
bool it2me,
DaemonController::BoolCallback callback) { … }
void DaemonControllerDelegateLinux::SetConfigAndStart(
base::Value::Dict config,
bool consent,
DaemonController::CompletionCallback done) { … }
void DaemonControllerDelegateLinux::UpdateConfig(
base::Value::Dict config,
DaemonController::CompletionCallback done) { … }
void DaemonControllerDelegateLinux::Stop(
DaemonController::CompletionCallback done) { … }
DaemonController::UsageStatsConsent
DaemonControllerDelegateLinux::GetUsageStatsConsent() { … }
void DaemonControllerDelegateLinux::set_start_host_after_setup(
bool start_host) { … }
scoped_refptr<DaemonController> DaemonController::Create() { … }
}