ScummVM API documentation
downloadrequest.h
1
/* ScummVM - Graphic Adventure Engine
2
*
3
* ScummVM is the legal property of its developers, whose names
4
* are too numerous to list here. Please refer to the COPYRIGHT
5
* file distributed with this source distribution.
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*
20
*/
21
22
#ifndef BACKENDS_CLOUD_DOWNLOADREQUEST_H
23
#define BACKENDS_CLOUD_DOWNLOADREQUEST_H
24
25
#include "backends/networking/curl/request.h"
26
#include "backends/networking/curl/networkreadstream.h"
27
#include "backends/cloud/storage.h"
28
#include "common/file.h"
29
30
namespace
Cloud
{
31
32
#define DOWNLOAD_REQUEST_BUFFER_SIZE 1 * 1024 * 1024
33
34
class
DownloadRequest
:
public
Networking::Request
{
35
Storage::BoolCallback
_boolCallback;
36
Common::DumpFile
*_localFile;
37
Common::String
_remoteFileId;
38
Storage
*_storage;
39
Networking::NetworkReadStream
*_remoteFileStream;
40
Request *_workingRequest;
41
bool
_ignoreCallback;
42
byte *_buffer;
43
44
void
start();
45
void
streamCallback(
const
Networking::NetworkReadStreamResponse
&response);
46
void
streamErrorCallback(
const
Networking::ErrorResponse
&
error
);
47
void
finishDownload(
bool
success);
48
void
finishError(
const
Networking::ErrorResponse
&error, Networking::RequestState
state
= Networking::FINISHED)
override
;
49
50
public
:
51
DownloadRequest
(
Storage
*storage,
Storage::BoolCallback
callback,
Networking::ErrorCallback
ecb,
const
Common::String
&remoteFileId,
Common::DumpFile
*dumpFile);
52
~
DownloadRequest
()
override
;
53
54
void
handle
()
override
;
55
void
restart
()
override
;
56
58
double
getProgress
()
const
;
59
};
60
61
}
// End of namespace Cloud
62
63
#endif
Cloud::DownloadRequest::getProgress
double getProgress() const
Common::String
Definition:
str.h:59
Cloud
Definition:
basestorage.h:28
Cloud::Storage
Definition:
storage.h:47
Networking::ErrorResponse
Definition:
request.h:73
Cloud::DownloadRequest::handle
void handle() override
Networking::Response
Definition:
request.h:47
Common::DumpFile
Definition:
file.h:145
Common::BaseCallback
Definition:
callback.h:49
error
void NORETURN_PRE error(MSVC_PRINTF const char *s,...) GCC_PRINTF(1
Networking::NetworkReadStream
Definition:
networkreadstream.h:37
Networking::Request::state
RequestState state() const
Cloud::DownloadRequest::restart
void restart() override
Cloud::DownloadRequest
Definition:
downloadrequest.h:34
Networking::Request
Definition:
request.h:119
backends
cloud
downloadrequest.h
Generated on Fri Nov 15 2024 09:03:58 for ScummVM API documentation by
1.8.13