1#ifndef YAZE_SRC_CLI_SERVICE_ROM_SANDBOX_MANAGER_H_
2#define YAZE_SRC_CLI_SERVICE_ROM_SANDBOX_MANAGER_H_
8#include <unordered_map>
11#include "absl/base/thread_annotations.h"
12#include "absl/status/status.h"
13#include "absl/status/statusor.h"
14#include "absl/strings/string_view.h"
15#include "absl/time/time.h"
52 absl::string_view description);
84 std::unordered_map<std::string, SandboxMetadata>
sandboxes_;
The Rom class is used to load, save, and modify Rom data.
absl::StatusOr< SandboxMetadata > CreateSandbox(Rom &rom, absl::string_view description)
absl::Status RemoveSandbox(const std::string &id)
void SetRootDirectory(const std::filesystem::path &root)
absl::StatusOr< SandboxMetadata > ActiveSandbox() const
absl::StatusOr< int > CleanupOlderThan(absl::Duration max_age)
std::filesystem::path root_directory_
std::vector< SandboxMetadata > ListSandboxes() const
static RomSandboxManager & Instance()
std::string GenerateSandboxIdLocked()
absl::Status EnsureRootExistsLocked()
std::optional< std::string > active_sandbox_id_
absl::StatusOr< std::filesystem::path > ActiveSandboxRomPath() const
const std::filesystem::path & RootDirectory() const
int sequence_ ABSL_GUARDED_BY(mutex_)=0
std::unordered_map< std::string, SandboxMetadata > sandboxes_
Main namespace for the application.