mirror of https://github.com/aria2/aria2
81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
#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
|