X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=CollectionReader.h;h=770c2a8982890ce1bd994e8fb74d2c11f8c08ab6;hb=005e134568b5c77ec880481ec66f78b22c1cd6f2;hp=c01d00bd9ca296796777302681ee9e85c424476f;hpb=57efcbe2b1a7e6e19590602638a6ae8bbcae9b5a;p=ecparse.git diff --git a/CollectionReader.h b/CollectionReader.h index c01d00b..770c2a8 100644 --- a/CollectionReader.h +++ b/CollectionReader.h @@ -4,8 +4,12 @@ #pragma once +#include #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; };