diff options
Diffstat (limited to 'source/libs/asura-lib-utils/filesystem/data_buffer.h')
-rw-r--r-- | source/libs/asura-lib-utils/filesystem/data_buffer.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source/libs/asura-lib-utils/filesystem/data_buffer.h b/source/libs/asura-lib-utils/filesystem/data_buffer.h new file mode 100644 index 0000000..4b013ed --- /dev/null +++ b/source/libs/asura-lib-utils/filesystem/data_buffer.h @@ -0,0 +1,45 @@ +#ifndef __ASURA_ENGINE_DATABUFFER_H__ +#define __ASURA_ENGINE_DATABUFFER_H__ + +#include <cstdlib> + +#include "../scripting/Luax.hpp" +#include "../scripting/portable.hpp" + +namespace AsuraEngine +{ + namespace Filesystem + { + + /// + /// ڴݵķװеʹData bufferװֱʹconst void*ͨresource managerȡ + /// + class DataBuffer ASURA_FINAL + : public Scripting::Portable<DataBuffer> + { + public: + + DataBuffer(const void* data, std::size_t size); + + ~DataBuffer(); + + void SetContent(const void* data, std::size_t siez); + + const byte* data; + size_t size; + + //---------------------------------------------------------------------------------------------------------- + + LUAX_DECL_FACTORY(DataBuffer); + + LUAX_DECL_METHOD(_New); + LUAX_DECL_METHOD(_SetContent); + LUAX_DECL_METHOD(_GetContent); + LUAX_DECL_METHOD(_GetContentLength); + + }; + + } +} + +#endif
\ No newline at end of file |