Adding test for encrypted cloud storage; Adding preparation timing test for Fidelius...
[iotcloud.git] / version2 / src / C / ByteBuffer.h
index a5b6dcf9b7bee044d468833af34a2a06cb3a18b3..06c309bf885a088ff0521f4da6754f0e4f36b86d 100644 (file)
@@ -7,15 +7,23 @@ public:
        void put(char c);
        void putInt(int32_t l);
        void putLong(int64_t l);
-       void put(Array<char> * array);
+       void put(Array<char> *array);
        int64_t getLong();
        int32_t getInt();
        char get();
-       void get(Array<char> * array);
+       void get(Array<char> *array);
        void position(int32_t newPosition);
-       Array<char> * array();
+       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);
+ByteBuffer *ByteBuffer_wrap(Array<char> *array);
+ByteBuffer *ByteBuffer_allocate(uint size);
 #endif