yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
source_artifact_publisher.cc File Reference
#include "core/source_artifact_publisher.h"
#include <algorithm>
#include <array>
#include <atomic>
#include <cctype>
#include <cerrno>
#include <chrono>
#include <cstdint>
#include <cstring>
#include <exception>
#include <filesystem>
#include <fstream>
#include <iterator>
#include <limits>
#include <memory>
#include <optional>
#include <semaphore>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
#include <vector>
#include "absl/status/status.h"
#include "absl/strings/ascii.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "util/macro.h"
#include <fcntl.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <unistd.h>

Go to the source code of this file.

Classes

struct  yaze::core::anonymous_namespace{source_artifact_publisher.cc}::PublicationArtifact
 
class  yaze::core::anonymous_namespace{source_artifact_publisher.cc}::SourceArtifactWriteLocks
 
struct  yaze::core::SourceArtifactPublicationLock::Impl
 
class  yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ScopedPublicationUse
 

Namespaces

namespace  yaze
 
namespace  yaze::core
 
namespace  yaze::core::anonymous_namespace{source_artifact_publisher.cc}
 

Functions

std::string yaze::core::anonymous_namespace{source_artifact_publisher.cc}::Capitalized (std::string value)
 
std::binary_semaphore & yaze::core::anonymous_namespace{source_artifact_publisher.cc}::SourceArtifactWriteSemaphore ()
 
constexpr uint32_t yaze::core::anonymous_namespace{source_artifact_publisher.cc}::RotateRight (uint32_t value, uint32_t count)
 
void yaze::core::anonymous_namespace{source_artifact_publisher.cc}::TransformSha256 (uint32_t state[8], const uint8_t block[64])
 
std::string yaze::core::anonymous_namespace{source_artifact_publisher.cc}::Sha256Hex (std::string_view content)
 
absl::StatusOr< std::string > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ReadTextFile (const fs::path &path, absl::string_view label)
 
std::string yaze::core::anonymous_namespace{source_artifact_publisher.cc}::LowercasePath (const fs::path &path)
 
absl::StatusOr< fs::path > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ResolvePublicationTarget (const fs::path &target, const SourceArtifactPublisherLabels &labels)
 
absl::StatusOr< std::vector< fs::path > > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ResolvePublicationTargets (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ValidateDistinctPublicationTargets (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
absl::StatusOr< std::vector< fs::path > > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::PublicationLockPaths (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ValidateTargetsDoNotAliasLocks (const std::vector< fs::path > &lock_paths, const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
absl::StatusOr< std::vector< fs::path > > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::PreparePublicationTargets (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
fs::path yaze::core::anonymous_namespace{source_artifact_publisher.cc}::NextSiblingPath (const fs::path &target, absl::string_view purpose)
 
absl::StatusOr< fs::path > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::WriteExclusiveTemp (const fs::path &target, std::string_view content)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::SyncParentDirectory (const fs::path &target)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ReplaceFromTemp (const fs::path &temp, const fs::path &target, bool *replaced=nullptr)
 
absl::StatusOr< fs::path > yaze::core::anonymous_namespace{source_artifact_publisher.cc}::CreateBackup (const fs::path &target)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::CleanupPublicationPaths (const std::vector< fs::path > &paths, absl::string_view artifact_kind, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::CleanupTemps (const std::vector< PublicationArtifact > &artifacts, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::CleanupBackups (std::vector< PublicationArtifact > *artifacts, const SourceArtifactPublisherLabels &labels)
 
std::string yaze::core::anonymous_namespace{source_artifact_publisher.cc}::BackupRecoveryPaths (const std::vector< PublicationArtifact > &artifacts)
 
std::string yaze::core::anonymous_namespace{source_artifact_publisher.cc}::CleanupStatusSummary (const absl::Status &status)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::ReturnFailureAfterCleanup (std::vector< PublicationArtifact > *artifacts, const absl::Status &publication_failure, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::RestoreArtifact (const PublicationArtifact &artifact)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::RollBackPublication (std::vector< PublicationArtifact > *artifacts, const absl::Status &publication_failure, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::VerifyUnchangedBeforePublication (const std::vector< PublicationArtifact > &artifacts, std::string_view expected_source_sha256, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::anonymous_namespace{source_artifact_publisher.cc}::PublishArtifactSet (std::vector< PublicationArtifact > *artifacts, std::string_view expected_source_sha256, const SourceArtifactPublisherLabels &labels)
 
absl::Status yaze::core::ValidateSourceArtifactPublicationTargets (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
absl::StatusOr< std::unique_ptr< SourceArtifactPublicationLock > > yaze::core::AcquireSourceArtifactPublicationLock (const std::vector< fs::path > &targets, const SourceArtifactPublisherLabels &labels)
 
std::string yaze::core::ComputeSourceArtifactSha256 (std::string_view content)
 
absl::Status yaze::core::PublishSourceArtifacts (const SourceArtifactPublicationLock &lock, std::vector< SourceArtifactUpdate > updates, std::string_view expected_primary_sha256, SourceArtifactReadbackValidator readback_validator)
 

Variables

constexpr uint32_t yaze::core::anonymous_namespace{source_artifact_publisher.cc}::kSha256Constants [64]