11#ifndef INCGUARD_MGL_FILE_DELEGATE_WIN32_H_1616786750 
   12#define INCGUARD_MGL_FILE_DELEGATE_WIN32_H_1616786750 
   15#if defined(MGL_FILE_DELEGATE_ENABLE_WIN32) 
   80    size_t Read(
AccessWork *work, 
Result &result, 
void *buffer, 
size_t size) 
noexcept override;
 
   81    size_t Write(
AccessWork *work, 
Result &result, 
const void *buffer, 
size_t size) 
noexcept override;
 
  106    [[nodiscard]] 
static Win32Work *GetWork(
AccessWork *work, 
OpenMode mode = OpenMode::None) 
noexcept;
 
  107    [[nodiscard]] 
static const wchar_t *GetModeString(
OpenMode mode) 
noexcept;
 
  109    [[nodiscard]] 
static Error GetError(
int errorNumber) 
noexcept;
 
 
ファイルアクセスのための作業用クラス
Definition mgl_file_access_work.h:24
 
AccessWork(OpenMode mode, DelegateKey key) noexcept
コンストラクタ
Definition mgl_file_access_work.cc:24
 
ファイルデリゲートクラス
Definition mgl_file_delegate.h:25
 
マウント毎のワークの基底クラス
Definition mgl_file_mount_work.h:20
 
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
 
Win32用ファイルデリゲートクラス
Definition mgl_file_delegate_win32.h:24
 
static constexpr DelegateKey kDelegateKey
このデリゲートを表すデリゲートキー
Definition mgl_file_delegate_win32.h:27
 
Result MakeDirectory(MountWork *mountWork, const PathView &path) noexcept override
ディレクトリを作成する
Definition mgl_file_delegate_win32.cc:328
 
bool Exists(MountWork *mountWork, Result &result, const PathView &path) noexcept override
ファイルの存在をチェック
Definition mgl_file_delegate_win32.cc:399
 
void Unmount(SharedMountWork &mountWork) noexcept override
マウント解除時の処理
Definition mgl_file_delegate_win32.h:73
 
size_t GetSize(AccessWork *work, Result &result) const noexcept override
オープンしているファイルのサイズを取得
Definition mgl_file_delegate_win32.cc:263
 
Result Close(AccessWork *work) noexcept override
ファイルをクローズ
Definition mgl_file_delegate_win32.cc:61
 
size_t GetOffset(AccessWork *work, Result &result) const noexcept override
ストリーム位置を取得
Definition mgl_file_delegate_win32.cc:202
 
Result Mount(SharedMountWork &mountWork, const PathView &path, MountAccessType accessType) noexcept override
マウント時の処理
Definition mgl_file_delegate_win32.h:62
 
Result Remove(MountWork *mountWork, const PathView &path) noexcept override
ファイルの削除
Definition mgl_file_delegate_win32.cc:378
 
bool IsManagedSystemNativeFile() const noexcept override
このデリゲートがシステム標準のファイルを扱うものかを取得
Definition mgl_file_delegate_win32.h:36
 
bool IsEOF(AccessWork *work, Result &result) const noexcept override
ファイルストリームが終端に達しているかを取得
Definition mgl_file_delegate_win32.cc:232
 
AccessWorkPtr Open(Result &result, SharedMountWork &mountWork, const PathView &path, OpenMode mode) noexcept override
ファイルをオープン
Definition mgl_file_delegate_win32.cc:29
 
Result Move(MountWork *mountWork, const PathView &sourcePath, const PathView &destPath) noexcept override
ファイルの移動・リネーム
Definition mgl_file_delegate_win32.cc:358
 
bool IsWritable() const noexcept override
このデリゲートが書き込みに対応しているかを取得
Definition mgl_file_delegate_win32.h:48
 
size_t Seek(AccessWork *work, Result &result, SeekType seekType, int32_t offset) noexcept override
ストリーム位置を設定
Definition mgl_file_delegate_win32.cc:156
 
static constexpr ResultWrapper Succeeded() noexcept
Definition mgl_result_wrapper.h:101
 
STL::unique_ptr< AccessWork > AccessWorkPtr
ファイルアクセスのためのワークのポインタ型
Definition mgl_file_access_work.h:130
 
MountAccessType
マウント時のアクセスタイプ
Definition mgl_file_defs.h:56
 
DelegateKey
デリゲートキーの型
Definition mgl_file_defs.h:23
 
SeekType
シークタイプ
Definition mgl_file_defs.h:63
 
Error
エラー定義
Definition mgl_file_defs.h:71
 
constexpr DelegateKey MakeDelegateKey(const char *keyString, uint32_t seed=kDefaultDelegateKeySeed) noexcept
デリゲートキーの生成
Definition mgl_file_defs.h:36
 
OpenMode
オープンモード
Definition mgl_file_defs.h:48
 
std::shared_ptr< MountWork > SharedMountWork
マウント毎のワークの共有ポインタ
Definition mgl_file_mount_work.h:51
 
basic_string< wchar_t > wstring
std::wstringの代替
Definition mgl_stl_string.h:34
 
このデリゲート用の作業用構造体
Definition mgl_file_delegate_win32.h:95
 
size_t size
ファイルサイズ
Definition mgl_file_delegate_win32.h:97
 
Win32Work(OpenMode mode) noexcept
初期化用コンストラクタ
Definition mgl_file_delegate_win32.h:100
 
FILE * fp
ファイルポインタ
Definition mgl_file_delegate_win32.h:96