libaria2cpp 0.2.0
Basic CPP library to connect to an ARIA2 daemon via the RPC interface.
download.h
1/*
2 * ARIA2CPP: Basic CPP library to connect to an ARIA2 daemon
3 * via the RPC interface.
4 *
5 * *ALPHA VERSION!*
6 *
7 * Copyright (C) 2021 Dennis Katsonis dennisk@netspace.net.au
8 *
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 *
22 */
23
24#ifndef DOWNLOAD_H_
25#define DOWNLOAD_H_
26
27#include <fstream>
28#include <cstring>
29#include <vector>
30#include <cstdint>
31#include <jsonrpccpp/client.h>
32#include "globaloptions.h"
33#include "ariadefs.h"
34#include "func.h"
35
36class Aria2CPP;
37
39{
40public:
54 Download(Json::Value &download,
55 std::vector<URI> urilist = std::vector<URI>(),
56 Json::Value peers = Json::Value(),
57 Json::Value servers = Json::Value()
58 );
61 Download();
63 uint64_t completedLength() const;
65 uint64_t totalLength() const;
67 uint64_t downloadSpeed() const;
69 std::string gid() const;
71 Status status() const;
73 std::string dir() const;
77 filelist fileList() const;
82 std::string frontFile() const;
85 std::string frontPath() const;
88 int eta() const;
93 std::vector<URI> getUris() const;
98 std::string title() const;
101 bool isTorrent() const;
108 std::string bitfield() const;
110 size_t uploadSpeed() const;
112 std::string infoHash() const;
114 size_t numSeeders() const;
118 bool seeder() const;
121 size_t pieceLength() const;
124 size_t numPieces() const;
127 size_t connections() const;
130 std::string errorCode() const;
132 std::string errorMessage() const;
136 std::string followedBy() const;
138 std::string following() const;
140 std::string belongsTo() const;
142 std::string comment() const;
144 std::string creationDate() const;
147 std::string mode() const;
153 size_t verifiedLength() const;
157 bool verifyIntegrityPending() const;
164 bool isValid() const;
165 std::vector<Peer> m_peers;
166 std::vector<Servers> m_servers;
167
168private:
169 Json::Value m_download;
170 Status m_status;
171 uint64_t m_uploadSpeed;
172 std::string m_infoHash;
173 uint64_t m_numSeeders;
174 filelist m_files;
175 std::string m_downloadPath;
176 std::vector<URI> m_uris;
177 bool m_isValid;
178 Download (Aria2CPP::*updateFunc)(std::string gid);
179};
180
181#endif //DOWNLOAD_H_
Definition: aria2cpp.h:46
Definition: download.h:39
std::string bitfield() const
Definition: download.cpp:196
std::string gid() const
Definition: download.cpp:137
bool isValid() const
Definition: download.cpp:387
std::string mode() const
Definition: download.cpp:347
filelist fileList() const
Definition: download.cpp:176
uint64_t completedLength() const
Definition: download.cpp:104
std::string errorCode() const
Definition: download.cpp:283
size_t verifiedLength() const
Definition: download.cpp:356
std::string dir() const
Definition: download.cpp:167
std::string frontPath() const
Definition: download.cpp:186
size_t numSeeders() const
Definition: download.cpp:231
std::vector< URI > getUris() const
Definition: download.cpp:132
size_t connections() const
Definition: download.cpp:271
Download()
Definition: download.cpp:44
int eta() const
Definition: download.cpp:377
size_t uploadSpeed() const
Definition: download.cpp:205
size_t pieceLength() const
Definition: download.cpp:253
std::string creationDate() const
Definition: download.cpp:338
uint64_t totalLength() const
Definition: download.cpp:113
size_t numPieces() const
Definition: download.cpp:262
bool isTorrent() const
Definition: download.cpp:28
std::string belongsTo() const
Definition: download.cpp:316
std::string infoHash() const
Definition: download.cpp:218
std::string title() const
Definition: download.cpp:33
std::string comment() const
Definition: download.cpp:325
std::string errorMessage() const
Definition: download.cpp:291
std::string frontFile() const
Definition: download.cpp:181
std::string followedBy() const
Definition: download.cpp:299
bool seeder() const
Definition: download.cpp:244
std::string following() const
Definition: download.cpp:307
bool verifyIntegrityPending() const
Definition: download.cpp:368
Status status() const
Definition: download.cpp:146
uint64_t downloadSpeed() const
Definition: download.cpp:122