--- nono/lib/mappedfile.h 2026/04/29 17:04:49 1.1.1.2 +++ nono/lib/mappedfile.h 2026/04/29 17:05:26 1.1.1.5 @@ -4,18 +4,27 @@ // Licensed under nono-license.txt // +// // ファイルを mmap して提供するクラス +// #pragma once -#include "header.h" +#include "nono.h" #include "autofd.h" -class MappedFile +class MappedFile final { public: + // アクセスモード + // (enum class は字面が長くなるので手抜きしたい…) + using Mode = bool; + static const bool RW = false; + static const bool RdOnly = true; + + public: MappedFile(); - virtual ~MappedFile(); + ~MappedFile(); // ファイル名(パス名)を指定する。 void SetFilename(const std::string& filename); @@ -23,18 +32,10 @@ class MappedFile // エラーメッセージの表示名を変更する。 void SetDispname(const std::string& dispname); - // サイズの確定しているファイルを読み込み専用でオープンして mmap する。 - // ファイルがなければエラー。ROM とか用。 - uint8 *OpenRdOnly(off_t len); - // サイズの確定しているファイルを読み書き両用でオープンして mmap する。 // ファイルがなければ作成する。SRAM とか用。 uint8 *OpenCreate(off_t len); - // サイズの確定していないファイルを読み書き両用でオープンして mmap する。 - // ファイルがなければエラー。ディスクイメージ用。 - uint8 *OpenFile(); - // クローズする (デストラクタを呼ぶだけでもよい) void Close();