ScummVM API documentation
savessyncrequest.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_SAVESSYNCREQUEST_H
23
#define BACKENDS_CLOUD_SAVESSYNCREQUEST_H
24
25
#include "backends/networking/curl/request.h"
26
#include "backends/cloud/storage.h"
27
#include "common/hashmap.h"
28
#include "common/hash-str.h"
29
30
namespace
Cloud
{
31
32
class
SavesSyncRequest
:
public
Networking::Request
{
33
Storage
*_storage;
34
Storage::BoolCallback
_boolCallback;
35
Common::HashMap<Common::String, uint32>
_localFilesTimestamps;
36
Common::Array<StorageFile>
_filesToDownload;
37
Common::Array<Common::String>
_filesToUpload;
38
StorageFile
_currentDownloadingFile;
39
Common::String
_currentUploadingFile;
40
Request *_workingRequest;
41
bool
_ignoreCallback;
42
uint32 _totalFilesToHandle;
43
Common::String
_date;
44
uint32 _bytesToDownload, _bytesDownloaded;
45
46
void
start();
47
void
directoryListedCallback(
const
Storage::ListDirectoryResponse
&response);
48
void
directoryListedErrorCallback(
const
Networking::ErrorResponse
&
error
);
49
void
directoryCreatedCallback(
const
Storage::BoolResponse
&response);
50
void
directoryCreatedErrorCallback(
const
Networking::ErrorResponse
&error);
51
void
fileDownloadedCallback(
const
Storage::BoolResponse
&response);
52
void
fileDownloadedErrorCallback(
const
Networking::ErrorResponse
&error);
53
void
fileUploadedCallback(
const
Storage::UploadResponse
&response);
54
void
fileUploadedErrorCallback(
const
Networking::ErrorResponse
&error);
55
void
downloadNextFile();
56
void
uploadNextFile();
57
void
finishError(
const
Networking::ErrorResponse
&error, Networking::RequestState
state
= Networking::FINISHED)
override
;
58
void
finishSync(
bool
success);
59
60
uint32 getDownloadedBytes()
const
;
61
uint32 getBytesToDownload()
const
;
62
63
public
:
64
SavesSyncRequest
(
Storage
*storage,
Storage::BoolCallback
callback,
Networking::ErrorCallback
ecb);
65
~
SavesSyncRequest
()
override
;
66
67
void
handle
()
override
;
68
void
restart
()
override
;
69
71
double
getDownloadingProgress
()
const
;
72
74
void
getDownloadingInfo
(
Storage::SyncDownloadingInfo
&info)
const
;
75
77
double
getProgress
()
const
;
78
80
Common::Array<Common::String>
getFilesToDownload
();
81
};
82
83
}
// End of namespace Cloud
84
85
#endif
Common::String
Definition:
str.h:59
Cloud::SavesSyncRequest::restart
void restart() override
Cloud
Definition:
basestorage.h:28
Cloud::Storage
Definition:
storage.h:47
Networking::ErrorResponse
Definition:
request.h:73
Common::Array
Definition:
array.h:52
Networking::Response
Definition:
request.h:47
Cloud::SavesSyncRequest::handle
void handle() override
Common::HashMap< Common::String, uint32 >
Cloud::SavesSyncRequest::getProgress
double getProgress() const
Common::BaseCallback
Definition:
callback.h:49
error
void NORETURN_PRE error(MSVC_PRINTF const char *s,...) GCC_PRINTF(1
Cloud::Storage::SyncDownloadingInfo
Definition:
storage.h:189
Networking::Request::state
RequestState state() const
Cloud::StorageFile
Definition:
storagefile.h:42
Cloud::SavesSyncRequest
Definition:
savessyncrequest.h:32
Cloud::SavesSyncRequest::getFilesToDownload
Common::Array< Common::String > getFilesToDownload()
Cloud::SavesSyncRequest::getDownloadingProgress
double getDownloadingProgress() const
Cloud::SavesSyncRequest::getDownloadingInfo
void getDownloadingInfo(Storage::SyncDownloadingInfo &info) const
Networking::Request
Definition:
request.h:119
backends
cloud
savessyncrequest.h
Generated on Mon Dec 23 2024 09:03:35 for ScummVM API documentation by
1.8.13