2023-07-22 23:31:56 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
struct FileI {
|
|
|
|
uint64_t _file_size {0};
|
|
|
|
// TODO: remove?
|
|
|
|
uint64_t _bytes_read {0};
|
|
|
|
uint64_t _bytes_written {0};
|
|
|
|
|
|
|
|
virtual ~FileI(void) {}
|
|
|
|
|
|
|
|
virtual bool isGood(void) = 0;
|
|
|
|
|
|
|
|
// TODO: move to owning/nonowning pointers
|
2023-08-22 17:17:41 +02:00
|
|
|
virtual std::vector<uint8_t> read(uint64_t pos, uint64_t size) = 0;
|
2023-07-22 23:31:56 +02:00
|
|
|
virtual bool write(uint64_t pos, const std::vector<uint8_t>& data) = 0;
|
|
|
|
};
|
|
|
|
|