#include "remoting/host/setup/host_starter_base.h"
#include <memory>
#include <string>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/i18n/icu_string_conversions.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/platform_thread.h"
#include "base/values.h"
#include "google_apis/gaia/gaia_oauth_client.h"
#include "google_apis/google_api_keys.h"
#include "remoting/base/fqdn.h"
#include "remoting/base/rsa_key_pair.h"
#include "remoting/host/host_config.h"
#include "remoting/host/pin_hash.h"
#include "remoting/host/setup/daemon_controller.h"
#include "remoting/host/setup/host_starter.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
namespace remoting {
HostStarterBase::HostStarterBase(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory)
: … { … }
HostStarterBase::~HostStarterBase() = default;
void HostStarterBase::StartHost(Params params, CompletionCallback on_done) { … }
void HostStarterBase::OnExistingConfigLoaded(
std::optional<base::Value::Dict> config) { … }
void HostStarterBase::OnUserTokensRetrieved(const std::string& user_email,
const std::string& access_token,
const std::string& refresh_token) { … }
void HostStarterBase::OnNewHostRegistered(
const std::string& directory_id,
const std::string& owner_account_email,
const std::string& service_account_email,
const std::string& authorization_code) { … }
void HostStarterBase::OnServiceAccountTokensRetrieved(
const std::string& service_account_email,
const std::string& access_token,
const std::string& refresh_token) { … }
void HostStarterBase::StopOldHost() { … }
void HostStarterBase::OnOldHostStopped(DaemonController::AsyncResult result) { … }
void HostStarterBase::GenerateConfigFile() { … }
void HostStarterBase::OnNewHostStarted(DaemonController::AsyncResult result) { … }
void HostStarterBase::HandleError(const std::string& error_message,
Result error_result) { … }
void HostStarterBase::HandleHttpStatusError(const ProtobufHttpStatus& status) { … }
void HostStarterBase::ReportError(const std::string& message,
base::OnceClosure on_error_reported) { … }
void HostStarterBase::SetDaemonControllerForTest(
scoped_refptr<remoting::DaemonController> daemon_controller) { … }
}