#include "common.h" #include #include #include "Cookie.h" #include "WrDiskCacheEntry.h" #include "GroupId.h" namespace aria2 { class MessageDigest; class RequestGroupMan; class RequestGroup; class Option; struct DownloadResult; void createFile(const std::string& filename, size_t length); std::string readFile(const std::string& path); class CookieSorter { public: bool operator()(const Cookie* lhs, const Cookie* rhs) const { if(lhs->getDomain() == rhs->getDomain()) { return lhs->getName() < rhs->getName(); } else { return lhs->getDomain() < rhs->getDomain(); } } }; std::unique_ptr createCookie (const std::string& name, const std::string& value, const std::string& domain, bool hostOnly, const std::string& path, bool secure); std::unique_ptr createCookie (const std::string& name, const std::string& value, time_t expiryTime, const std::string& domain, bool hostOnly, const std::string& path, bool secure); std::string fromHex(const std::string& s); // Returns hex digest of contents of file denoted by filename. std::string fileHexDigest(MessageDigest* ctx, const std::string& filename); WrDiskCacheEntry::DataCell* createDataCell(int64_t goff, const char* data, size_t offset = 0); std::shared_ptr findReservedGroup (RequestGroupMan* rgman, a2_gid_t gid); std::shared_ptr getReservedGroup (RequestGroupMan* rgman, size_t index); std::shared_ptr createRequestGroup(int32_t pieceLength, int64_t totalLength, const std::string& path, const std::string& uri, const std::shared_ptr