#include "common.h"
class ByteBuffer {
- public:
+public:
void put(char c);
+ void putInt(int32_t l);
void putLong(int64_t l);
+ void put(Array<char> *array);
int64_t getLong();
+ int32_t getInt();
+ char get();
+ void get(Array<char> *array);
+ void position(int32_t newPosition);
+ void releaseArray() {buffer = NULL;}
+ Array<char> *array();
+ ~ByteBuffer() {if (buffer != NULL) delete buffer;}
+
private:
+ ByteBuffer(Array<char> *array);
+ friend ByteBuffer *ByteBuffer_wrap(Array<char> *array);
+ friend ByteBuffer *ByteBuffer_allocate(uint size);
+ Array<char> *buffer;
+ uint offset;
};
+ByteBuffer *ByteBuffer_wrap(Array<char> *array);
+ByteBuffer *ByteBuffer_allocate(uint size);
#endif