Adding test for encrypted cloud storage; Adding preparation timing test for Fidelius...
[iotcloud.git] / version2 / src / C / ByteBuffer.h
index 2c87e445280bbe5bd454e6aad593e8fc71be92bb..06c309bf885a088ff0521f4da6754f0e4f36b86d 100644 (file)
@@ -3,10 +3,27 @@
 #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