parse header only on first link
[ecparse.git] / CollectionReader.h
index c01d00b..770c2a8 100644 (file)
@@ -4,8 +4,12 @@
 
 #pragma once
 
+#include <stdint.h>
 #include "ReaderInput.h"
 #include "ED2KLink.h"
+#include "GrowingBuffer.h"
+#include "StringTag.h"
+#include "BlobTag.h"
 
 class CollectionReader {
 
@@ -16,7 +20,22 @@ public:
        ED2KLink* getNextLink();
 
 private:
+       void identifyCollectionType();
+       bool isLineBreakPresent();
+       bool ensureBufferCapacity(size_t byteCount);
+       void readMoreBytes();
+
+       BlobTag* readBlobTag(bool hader);
+       StringTag* readStringTag(bool header);
+
+private:
        ReaderInput* readerInput;
+       GrowingBuffer growingBuffer;
+       uint32_t version;
+       bool firstLink;
+       bool isTextCollection;
+       uint32_t fileCollectionCount;
+       uint32_t collectionFileIndex;
 
 };