/* */ #ifndef _D_METALINK_ENTRY_H_ #define _D_METALINK_ENTRY_H_ #include "common.h" #include "MetalinkResource.h" #include "Checksum.h" #include "MetalinkChunkChecksum.h" #include class MetalinkEntry { public: string filename; string version; string language; string os; int64_t size; ChecksumHandle checksum; public: MetalinkResources resources; #ifdef ENABLE_MESSAGE_DIGEST MetalinkChunkChecksumHandle chunkChecksum; #endif // ENABLE_MESSAGE_DIGEST public: MetalinkEntry(); ~MetalinkEntry(); MetalinkEntry& operator=(const MetalinkEntry& metalinkEntry) { if(this != &metalinkEntry) { this->filename = metalinkEntry.filename; this->version = metalinkEntry.version; this->language = metalinkEntry.language; this->os = metalinkEntry.os; this->size = metalinkEntry.size; this->checksum = metalinkEntry.checksum; #ifdef ENABLE_MESSAGE_DIGEST this->chunkChecksum = metalinkEntry.chunkChecksum; #endif // ENABLE_MESSAGE_DIGEST } return *this; } void dropUnsupportedResource(); void reorderResourcesByPreference(); void setLocationPreference(const string& location, int preferenceToAdd); }; typedef SharedHandle MetalinkEntryHandle; typedef deque MetalinkEntries; #endif // _D_METALINK_ENTRY_H_