diff options
Diffstat (limited to 'src/lua/modules/net/Buffer.h')
-rw-r--r-- | src/lua/modules/net/Buffer.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/lua/modules/net/Buffer.h b/src/lua/modules/net/Buffer.h deleted file mode 100644 index 8733778..0000000 --- a/src/lua/modules/net/Buffer.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef __JIN_LUA_NET_NETBUFFER_H -#define __JIN_LUA_NET_NETBUFFER_H - -#include <cstring> -#include <cstdlib> -#include "lua/common/common.h" - -namespace JinEngine -{ - namespace Lua - { - namespace Net - { - - class Buffer - { - public: - Buffer(size_t s = 0) - : size(s) - { - buffer = new char[size]; - memset(buffer, 0, size); - } - - Buffer(const char* data, size_t s) - : size(s) - { - buffer = new char[size]; - memcpy(buffer, data, size); - } - - ~Buffer() - { - if (buffer != nullptr) - { - delete[] buffer; - buffer = nullptr; - size = 0; - } - } - - void append(const void* data, size_t s) - { - if (data == nullptr) - return; - char* buf = buffer; - buffer = new char[size + s]; - memcpy(buffer, buf, size); - memcpy(buffer + size, data, s); - delete[] buf; - size += s; - return; - } - - /* grab and create a string */ - char* grabString(unsigned int* length, int offset = 0) - { - int l = offset; - for (; l < size; ++l) - { - if (buffer[l] == 0) - break; - } - *length = l - offset + 1; - char* str = (char*)malloc(*length); - memcpy(str, buffer + offset, *length); - return str; - } - - int grabInteger(int* length, int offset = 0) - { - *length = sizeof(int); - return *((int*)(buffer + offset)); - } - - float grabFloat(int* length, int offset = 0) - { - *length = sizeof(float); - return *((float*)(buffer + offset)); - } - - bool grabBoolean(int* length, int offset = 0) - { - *length = sizeof(bool); - return *((bool*)(buffer + offset)); - } - - char* buffer; - size_t size; - - }; - - } // namespace Net - } // namespace Lua -} // namespace JinEngine - -#endif
\ No newline at end of file |