JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
AssetFileOperations.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <filesystem>
7#include <string>
8#include <vector>
9
12
18
19namespace hmi {
20
36public:
37 explicit AssetFileOperations(std::filesystem::path assetsDirectory);
38
40 [[nodiscard]] std::vector<std::filesystem::path> list() const;
41
60 [[nodiscard]] FileOperationResult import(const std::filesystem::path& sourceFile,
61 AssetFamily family, int decodedWidth,
62 int decodedHeight) const;
63
65 [[nodiscard]] FileOperationResult rename(const std::filesystem::path& source,
66 const std::string& newStem) const;
67
69 [[nodiscard]] FileOperationResult duplicate(const std::filesystem::path& source) const;
70
72 [[nodiscard]] static FileOperationResult remove(const std::filesystem::path& source);
73
74private:
76 [[nodiscard]] std::filesystem::path pathForStem(const std::string& stem,
77 const std::filesystem::path& extension) const;
78
79 std::filesystem::path _directory;
80};
81
82} // namespace hmi
Contrat de dimensions par famille d'assets graphiques et validation pure (EX-REN-007).
Résultat d'une opération de fichier de l'éditeur, partagé par les niveaux (LevelFileOperations) et le...
FileOperationResult duplicate(const std::filesystem::path &source) const
Duplique source sous un nom unique (« … (copie) », « … (copie 2) », …).
Definition AssetFileOperations.cpp:90
std::filesystem::path pathForStem(const std::string &stem, const std::filesystem::path &extension) const
Chemin d'un nom de fichier (sans extension) dans le dossier géré, avec l'extension donnée.
Definition AssetFileOperations.cpp:17
AssetFileOperations(std::filesystem::path assetsDirectory)
Definition AssetFileOperations.cpp:14
std::vector< std::filesystem::path > list() const
Definition AssetFileOperations.cpp:22
static FileOperationResult remove(const std::filesystem::path &source)
Supprime le fichier source.
Definition AssetFileOperations.cpp:109
std::filesystem::path _directory
Definition AssetFileOperations.h:79
FileOperationResult rename(const std::filesystem::path &source, const std::string &newStem) const
Renomme le fichier source en newStem, en conservant son extension d'origine.
Definition AssetFileOperations.cpp:69
Definition AudioEngine.cpp:15
AssetFamily
Famille d'un asset graphique, qui détermine les dimensions attendues du fichier image.
Definition AssetContract.h:22
Succès (avec le chemin résultant) ou échec (avec un message lisible).
Definition FileOperationResult.h:29