jabyengine/include/PSX/File/Processor/File_Processor.hpp

27 lines
653 B
C++

#ifndef __JABYENGINE_FILE_PROCESSOR_HPP__
#define __JABYENGINE_FILE_PROCESSOR_HPP__
#include "../File_Types.hpp"
namespace FileProcessor {
class State {
private:
struct Reserved {
uint32_t _reserved[2] = {0};
};
typedef bool (*ProcessRoutine)(uint32_t*, size_t, Reserved&);
private:
ProcessRoutine process_adr = nullptr;
Reserved reserved;
public:
bool process(uint32_t* data, size_t size) {
return (*this->process_adr)(data, size, this->reserved);
}
};
State create(const SimpleTIM& file);
}
#endif // !__JABYENGINE_FILE_PROCESSOR_HPP__