| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | #include "common.h"#include <string>#include <memory>#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<Cookie> createCookie(const std::string& name,                                     const std::string& value,                                     const std::string& domain, bool hostOnly,                                     const std::string& path, bool secure);std::unique_ptr<Cookie> 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<RequestGroup> findReservedGroup(RequestGroupMan* rgman,                                                a2_gid_t gid);std::shared_ptr<RequestGroup> getReservedGroup(RequestGroupMan* rgman,                                               size_t index);std::shared_ptr<RequestGroup>createRequestGroup(int32_t pieceLength, int64_t totalLength,                   const std::string& path, const std::string& uri,                   const std::shared_ptr<Option>& opt);std::shared_ptr<DownloadResult> createDownloadResult(error_code::Value result,                                                     const std::string& uri);namespace {template <typename V, typename T> bool derefFind(const V& v, const T& t){  for (auto i : v) {    if (*i == *t) {      return true;    }  }  return false;}} // namespace} // namespace aria2
 |