diff options
Diffstat (limited to 'src/lib/formats/fs_prodos.h')
-rw-r--r-- | src/lib/formats/fs_prodos.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/formats/fs_prodos.h b/src/lib/formats/fs_prodos.h index 5c9dfb3f082..75cb49f2507 100644 --- a/src/lib/formats/fs_prodos.h +++ b/src/lib/formats/fs_prodos.h @@ -12,13 +12,25 @@ class fs_prodos : public filesystem_manager_t { public: + class impl : public filesystem_t { + public: + impl(fsblk_t &blockdev) : filesystem_t(blockdev) {} + virtual ~impl() = default; + + virtual void format() override; + + private: + static const u8 boot[512]; + }; + fs_prodos() : filesystem_manager_t() {} virtual void enumerate(floppy_enumerator &fe, uint32_t form_factor, const std::vector<uint32_t> &variants) const override; - virtual void floppy_instantiate(u32 key, std::vector<u8> &image) const override; + virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; -private: - static const u8 boot[512]; + virtual bool can_format() const override; + virtual bool can_read() const override; + virtual bool can_write() const override; }; extern const filesystem_manager_type FS_PRODOS; |