/* */ #ifndef _D_METALINK_PARSER_CONTROLLER_H_ #define _D_METALINK_PARSER_CONTROLLER_H_ #include "common.h" class Metalinker; typedef SharedHandle MetalinkerHandle; class MetalinkEntry; typedef SharedHandle MetalinkEntryHandle; class MetalinkResource; typedef SharedHandle MetalinkResourceHandle; #ifdef ENABLE_MESSAGE_DIGEST class Checksum; typedef SharedHandle ChecksumHandle; class ChunkChecksum; typedef SharedHandle ChunkChecksumHandle; #endif // ENABLE_MESSAGE_DIGEST class MetalinkParserController { private: MetalinkerHandle _metalinker; MetalinkEntryHandle _tEntry; MetalinkResourceHandle _tResource; #ifdef ENABLE_MESSAGE_DIGEST ChecksumHandle _tChecksum; ChunkChecksumHandle _tChunkChecksum; deque > _tempChunkChecksums; pair _tempHashPair; #endif // ENABLE_MESSAGE_DIGEST public: MetalinkParserController(); ~MetalinkParserController(); MetalinkerHandle getResult() const; void newEntryTransaction(); void setFileNameOfEntry(const string& filename); void setFileLengthOfEntry(int64_t length); void setVersionOfEntry(const string& version); void setLanguageOfEntry(const string& language); void setOSOfEntry(const string& os); void setMaxConnectionsOfEntry(int32_t maxConnections); void commitEntryTransaction(); void cancelEntryTransaction(); void newResourceTransaction(); void setURLOfResource(const string& url); void setTypeOfResource(const string& type); void setLocationOfResource(const string& location); void setPreferenceOfResource(int32_t preference); void setMaxConnectionsOfResource(int32_t maxConnections); void commitResourceTransaction(); void cancelResourceTransaction(); void newChecksumTransaction(); void setTypeOfChecksum(const string& type); void setHashOfChecksum(const string& md); void commitChecksumTransaction(); void cancelChecksumTransaction(); void newChunkChecksumTransaction(); void setTypeOfChunkChecksum(const string& type); void setLengthOfChunkChecksum(int32_t length); void addHashOfChunkChecksum(int32_t order, const string& md); void createNewHashOfChunkChecksum(int32_t order); void setMessageDigestOfChunkChecksum(const string& md); void addHashOfChunkChecksum(); void commitChunkChecksumTransaction(); void cancelChunkChecksumTransaction(); }; #endif // _D_METALINK_PARSER_CONTROLLER_H_