#pragma once
+#include <stdint.h>
#include "ReaderInput.h"
+#include "ED2KLink.h"
+#include "GrowingBuffer.h"
+#include "StringTag.h"
+#include "BlobTag.h"
class CollectionReader {
CollectionReader(ReaderInput* readerInput);
~CollectionReader();
+ 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;
};