X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=CollectionReader.h;h=6e8f373414878fe18289c80e9cfec554d54ef250;hb=8c428eac937ccba2a2bb459ce9999a1adba5e6c0;hp=5e10c51b021cbb436193d331d4413d00294ca1f4;hpb=5f35ee49184899c1bfffe4d788286b7c9b578c00;p=ecparse.git diff --git a/CollectionReader.h b/CollectionReader.h index 5e10c51..6e8f373 100644 --- a/CollectionReader.h +++ b/CollectionReader.h @@ -5,6 +5,10 @@ #pragma once #include "ReaderInput.h" +#include "ED2KLink.h" +#include "GrowingBuffer.h" +#include "StringTag.h" +#include "BlobTag.h" class CollectionReader { @@ -12,8 +16,23 @@ public: 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; + int version; + bool firstLink; + bool isTextCollection; };