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)
81 virtual size_t Read(
AccessWork *work,
Result &result,
void *buffer,
size_t size)
noexcept override;
82 virtual size_t Write(
AccessWork *work,
Result &result,
const void *buffer,
size_t size)
noexcept override;
110 const wchar_t *GetModeString(
OpenMode mode)
const noexcept;
112 Error GetError(
int errorNumber)
const 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
virtual bool IsManagedSystemNativeFile() const noexcept override
このデリゲートがシステム標準のファイルを扱うものかを取得
Definition mgl_file_delegate_win32.h:36
virtual Result MakeDirectory(MountWork *mountWork, const PathView &path) noexcept override
ディレクトリを作成する
Definition mgl_file_delegate_win32.cc:316
virtual bool IsWritable() const noexcept override
このデリゲートが書き込みに対応しているかを取得
Definition mgl_file_delegate_win32.h:48
virtual bool Exists(MountWork *mountWork, Result &result, const PathView &path) noexcept override
ファイルの存在をチェック
Definition mgl_file_delegate_win32.cc:387
virtual size_t GetSize(AccessWork *work, Result &result) const noexcept override
オープンしているファイルのサイズを取得
Definition mgl_file_delegate_win32.cc:259
virtual Result Close(AccessWork *work) noexcept override
ファイルをクローズ
Definition mgl_file_delegate_win32.cc:61
virtual Result Mount(SharedMountWork &mountWork, const PathView &path, MountAccessType accessType) noexcept override
マウント時の処理
Definition mgl_file_delegate_win32.h:62
virtual size_t GetOffset(AccessWork *work, Result &result) const noexcept override
ストリーム位置を取得
Definition mgl_file_delegate_win32.cc:198
virtual Result Remove(MountWork *mountWork, const PathView &path) noexcept override
ファイルの削除
Definition mgl_file_delegate_win32.cc:366
virtual bool IsEOF(AccessWork *work, Result &result) const noexcept override
ファイルストリームが終端に達しているかを取得
Definition mgl_file_delegate_win32.cc:228
virtual AccessWorkPtr Open(Result &result, SharedMountWork &mountWork, const PathView &path, OpenMode mode) noexcept override
ファイルをオープン
Definition mgl_file_delegate_win32.cc:29
virtual void Unmount(SharedMountWork &mountWork) noexcept override
マウント解除時の処理
Definition mgl_file_delegate_win32.h:73
virtual Result Move(MountWork *mountWork, const PathView &sourcePath, const PathView &destPath) noexcept override
ファイルの移動・リネーム
Definition mgl_file_delegate_win32.cc:346
virtual size_t Seek(AccessWork *work, Result &result, SeekType seekType, int32_t offset) noexcept override
ストリーム位置を設定
Definition mgl_file_delegate_win32.cc:152
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:96
size_t size
ファイルサイズ
Definition mgl_file_delegate_win32.h:98
Win32Work(OpenMode mode) noexcept
初期化用コンストラクタ
Definition mgl_file_delegate_win32.h:101
FILE * fp
ファイルポインタ
Definition mgl_file_delegate_win32.h:97