FatFsUtil: Add ability to provide callbacks for the FatFs code.

This commit is contained in:
Admiral H. Curtiss
2022-09-29 05:08:24 +02:00
parent dafe2c785a
commit 3182d9178c
2 changed files with 132 additions and 29 deletions

View File

@ -3,10 +3,28 @@
#pragma once
#include <functional>
#include "Common/CommonTypes.h"
namespace Common
{
bool SyncSDFolderToSDImage(bool deterministic);
bool SyncSDImageToSDFolder();
class FatFsCallbacks
{
public:
FatFsCallbacks();
virtual ~FatFsCallbacks();
virtual u8 DiskInitialize(u8 pdrv);
virtual u8 DiskStatus(u8 pdrv);
virtual int DiskRead(u8 pdrv, u8* buff, u32 sector, unsigned int count) = 0;
virtual int DiskWrite(u8 pdrv, const u8* buff, u32 sector, unsigned int count) = 0;
virtual int DiskIOCtl(u8 pdrv, u8 cmd, void* buff) = 0;
virtual u32 GetCurrentTimeFAT();
};
void RunInFatFsContext(FatFsCallbacks& callbacks, const std::function<void()>& function);
} // namespace Common