11#ifndef INCGUARD_MGL_FILE_THROWING_UTILITY_H_1612509728
12#define INCGUARD_MGL_FILE_THROWING_UTILITY_H_1612509728
48 template <
class DelegateClass,
class... Args>
54 throw Exception(_result.
GetError(), Text::Format(
"Failed to add delegate: {}",
static_cast<uint32_t
>(key)).c_str());
ファイルシステム用例外クラス
Definition mgl_file_exception.h:23
static constexpr DelegateKey kDefaultDelegateKey
デフォルトを表す予約デリゲートキー
Definition mgl_file_mounter.h:44
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
例外を発生させるファイルユーティリティクラス
Definition mgl_file_throwing_utility.h:22
void Copy(const PathView &sourcePath, const PathView &destPath)
ファイルのコピー
Definition mgl_file_throwing_utility.cc:94
bool IsSystemNativeFile(const PathView &path)
システム標準のファイルであるかをチェック
Definition mgl_file_throwing_utility.cc:132
STL::string GetSystemNativePath(const PathView &path)
マウントパスからシステム標準のパスに変換
Definition mgl_file_throwing_utility.cc:225
void Remount(const PathView &mountName, const PathView &path, MountAccessType accessType, DelegateKey delegateKey=Mounter::kDefaultDelegateKey)
再マウント
Definition mgl_file_throwing_utility.cc:191
constexpr void AddDelegate(DelegateKey key, Args... args)
デリゲートの追加
Definition mgl_file_throwing_utility.h:49
void MakeDirectory(const PathView &path)
ディレクトリを作成する
Definition mgl_file_throwing_utility.cc:44
void Move(const PathView &sourcePath, const PathView &destPath)
ファイルの移動・リネーム
Definition mgl_file_throwing_utility.cc:61
static bool IsMounted(const PathView &mountName) noexcept
マウントされているかを取得
Definition mgl_file_throwing_utility.cc:212
void Unmount(const PathView &mountName)
マウント解除
Definition mgl_file_throwing_utility.cc:172
void RemoveDelegate(DelegateKey key)
デリゲートの削除
Definition mgl_file_throwing_utility.cc:245
void Mount(const PathView &mountName, const PathView &path, MountAccessType accessType, DelegateKey delegateKey=Mounter::kDefaultDelegateKey)
マウント
Definition mgl_file_throwing_utility.cc:153
size_t GetSize(const PathView &path)
ファイルのサイズを取得
Definition mgl_file_throwing_utility.cc:25
static void SetDefaultDelegate(DelegateKey key) noexcept
デフォルトのデリゲートを設定
Definition mgl_file_throwing_utility.cc:262
void Remove(const PathView &path)
ファイルの削除
Definition mgl_file_throwing_utility.cc:77
bool Exists(const PathView &path)
ファイルの存在をチェック
Definition mgl_file_throwing_utility.cc:112
constexpr bool HasError() const noexcept
エラーが発生しているかを取得
Definition mgl_result_wrapper.h:151
constexpr ErrorType GetError() const noexcept
エラーを取得
Definition mgl_result_wrapper.h:58
static Mounter & GetInstance() noexcept
Definition mgl_singleton.h:73
MountAccessType
マウント時のアクセスタイプ
Definition mgl_file_defs.h:56
DelegateKey
デリゲートキーの型
Definition mgl_file_defs.h:23
basic_string< char > string
std::stringの代替
Definition mgl_stl_string.h:25