diff options
author | dec05eba <dec05eba@protonmail.com> | 2021-11-16 11:07:49 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-11-16 11:07:49 +0100 |
commit | 3a29b9984760af0b3a85e35190e1dede39e13891 (patch) | |
tree | c9baa5cb9204d15d081ef73a82729b493e6898fb /include/mglpp/system/MemoryMappedFile.hpp | |
parent | 01e3403abf86050e4096ecf60466de4139ac78e2 (diff) |
Implement all interfaces to mgl
Diffstat (limited to 'include/mglpp/system/MemoryMappedFile.hpp')
-rw-r--r-- | include/mglpp/system/MemoryMappedFile.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/mglpp/system/MemoryMappedFile.hpp b/include/mglpp/system/MemoryMappedFile.hpp new file mode 100644 index 0000000..508518a --- /dev/null +++ b/include/mglpp/system/MemoryMappedFile.hpp @@ -0,0 +1,30 @@ +#ifndef MGLPP_MEMORY_MAPPED_FILE_HPP +#define MGLPP_MEMORY_MAPPED_FILE_HPP + +extern "C" { +#include <mgl/system/fileutils.h> +} + +namespace mgl { + class MemoryMappedFile { + public: + struct LoadOptions { + bool readable; + bool writable; + }; + + MemoryMappedFile(); + ~MemoryMappedFile(); + + bool load(const char *filepath, LoadOptions load_options = { true, true }); + + void* data(); + size_t size(); + + const mgl_memory_mapped_file* internal_mapped_file() const; + private: + mgl_memory_mapped_file memory_mapped_file; + }; +} + +#endif /* MGLPP_MEMORY_MAPPED_FILE_HPP */ |