#include "remoting/base/cloud_service_client.h"
#include "base/functional/bind.h"
#include "base/strings/stringize_macros.h"
#include "google_apis/google_api_keys.h"
#include "remoting/base/protobuf_http_request.h"
#include "remoting/base/protobuf_http_request_config.h"
#include "remoting/base/service_urls.h"
#include "remoting/base/version.h"
#include "remoting/proto/google/internal/remoting/cloud/v1alpha/remote_access_service.pb.h"
#include "remoting/proto/remoting/v1/cloud_messages.pb.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
namespace {
constexpr net::NetworkTrafficAnnotationTag
kProvisionGceInstanceTrafficAnnotation = …;
using LegacyProvisionGceInstanceRequest =
remoting::apis::v1::ProvisionGceInstanceRequest;
using ProvisionGceInstanceRequest =
google::internal::remoting::cloud::v1alpha::ProvisionGceInstanceRequest;
}
namespace remoting {
CloudServiceClient::CloudServiceClient(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory)
: … { … }
CloudServiceClient::~CloudServiceClient() = default;
void CloudServiceClient::LegacyProvisionGceInstance(
const std::string& owner_email,
const std::string& display_name,
const std::string& public_key,
const std::optional<std::string>& existing_directory_id,
LegacyProvisionGceInstanceCallback callback) { … }
void CloudServiceClient::ProvisionGceInstance(
const std::string& owner_email,
const std::string& display_name,
const std::string& public_key,
const std::optional<std::string>& existing_directory_id,
const std::string& api_key,
ProvisionGceInstanceCallback callback) { … }
void CloudServiceClient::CancelPendingRequests() { … }
template <typename CallbackType>
void CloudServiceClient::ExecuteRequest(
const net::NetworkTrafficAnnotationTag& traffic_annotation,
const std::string& path,
const std::string& api_key,
std::unique_ptr<google::protobuf::MessageLite> request_message,
CallbackType callback) { … }
}