11#ifndef INCGUARD_MGL_FILE_DELEGATE_H_1611104162 
   12#define INCGUARD_MGL_FILE_DELEGATE_H_1611104162 
   45    [[nodiscard]] virtual 
bool IsWritable() const noexcept = 0;
 
   97    virtual 
size_t Read(
AccessWork *work, 
Result &result, 
void *buffer, 
size_t size) noexcept = 0;
 
  109    virtual 
size_t Write(
AccessWork *work, 
Result &result, const 
void *buffer, 
size_t size) noexcept = 0;
 
 
ファイルアクセスのための作業用クラス
Definition mgl_file_access_work.h:24
 
ファイルデリゲートクラス
Definition mgl_file_delegate.h:25
 
virtual bool IsWritable() const noexcept=0
このデリゲートが書き込みに対応しているかを取得
 
virtual Result Remove(MountWork *mountWork, const PathView &path) noexcept=0
ファイルの削除
 
virtual bool Exists(MountWork *mountWork, Result &result, const PathView &path) noexcept=0
ファイルの存在をチェック
 
virtual bool IsManagedSystemNativeFile() const noexcept=0
このデリゲートがシステム標準のファイルを扱うものかを取得
 
virtual Result Mount(SharedMountWork &mountWork, const PathView &path, MountAccessType accessType) noexcept=0
マウント時の処理
 
virtual Result MakeDirectory(MountWork *mountWork, const PathView &path) noexcept=0
ディレクトリを作成する
 
virtual bool IsEOF(AccessWork *work, Result &result) const noexcept=0
ファイルストリームが終端に達しているかを取得
 
virtual size_t GetSize(AccessWork *work, Result &result) const noexcept=0
オープンしているファイルのサイズを取得
 
virtual void Unmount(SharedMountWork &mountWork) noexcept=0
マウント解除時の処理
 
virtual size_t GetOffset(AccessWork *work, Result &result) const noexcept=0
ストリーム位置を取得
 
virtual Result Move(MountWork *mountWork, const PathView &sourcePath, const PathView &destPath) noexcept=0
ファイルの移動・リネーム
 
virtual size_t Seek(AccessWork *work, Result &result, SeekType seekType, int32_t offset) noexcept=0
ストリーム位置を設定
 
virtual Result Close(AccessWork *work) noexcept=0
ファイルをクローズ
 
virtual AccessWorkPtr Open(Result &result, SharedMountWork &mountWork, const PathView &path, OpenMode mode) noexcept=0
ファイルをオープン
 
マウント毎のワークの基底クラス
Definition mgl_file_mount_work.h:20
 
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
 
STL::unique_ptr< AccessWork > AccessWorkPtr
ファイルアクセスのためのワークのポインタ型
Definition mgl_file_access_work.h:130
 
MountAccessType
マウント時のアクセスタイプ
Definition mgl_file_defs.h:56
 
SeekType
シークタイプ
Definition mgl_file_defs.h:63
 
OpenMode
オープンモード
Definition mgl_file_defs.h:48
 
MGL ファイルアクセスに使用するマウント毎の作業用クラス
 
std::shared_ptr< MountWork > SharedMountWork
マウント毎のワークの共有ポインタ
Definition mgl_file_mount_work.h:51