diff options
Diffstat (limited to 'src/lua/net/lua_net_Buffer.h')
-rw-r--r-- | src/lua/net/lua_net_Buffer.h | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/lua/net/lua_net_Buffer.h b/src/lua/net/lua_net_Buffer.h deleted file mode 100644 index 6af3078..0000000 --- a/src/lua/net/lua_net_Buffer.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef __JIN_LUA_NET_NETBUFFER_H -#define __JIN_LUA_NET_NETBUFFER_H - -#include <cstring> -#include <cstdlib> -#include "../luaopen_types.h" - -namespace jin -{ -namespace lua -{ -namespace net -{ - - class Buffer : public Object - { - 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; - } - - const char* grabString(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; - - }; - -} // net -} // lua -} // jin - -#endif
\ No newline at end of file |