aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/cloudmanager.cpp
diff options
context:
space:
mode:
authorAlexander Tkachev2016-06-09 14:23:14 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit9b15ec9989fc67a0537b1e70732d3dba48797165 (patch)
tree4867997d8e41d756e4b25654756818bd020031d4 /backends/cloud/cloudmanager.cpp
parentaf9930482e17f4b55e46707fc017090e4c24a38e (diff)
downloadscummvm-rg350-9b15ec9989fc67a0537b1e70732d3dba48797165.tar.gz
scummvm-rg350-9b15ec9989fc67a0537b1e70732d3dba48797165.tar.bz2
scummvm-rg350-9b15ec9989fc67a0537b1e70732d3dba48797165.zip
CLOUD: Update CloudManager
It now has methods to update Storage's information.
Diffstat (limited to 'backends/cloud/cloudmanager.cpp')
-rw-r--r--backends/cloud/cloudmanager.cpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/backends/cloud/cloudmanager.cpp b/backends/cloud/cloudmanager.cpp
index 5c69e30520..a1b1ed1525 100644
--- a/backends/cloud/cloudmanager.cpp
+++ b/backends/cloud/cloudmanager.cpp
@@ -114,6 +114,14 @@ void CloudManager::init() {
}
void CloudManager::save() {
+ for (uint32 i = 0; i < _storages.size(); ++i) {
+ if (i == kStorageNoneId) continue;
+ Common::String name = getStorageConfigName(i);
+ ConfMan.set("storage_" + name + "_username", _storages[i].username, "cloud");
+ ConfMan.set("storage_" + name + "_lastSync", _storages[i].lastSyncDate, "cloud");
+ ConfMan.set("storage_" + name + "_usedBytes", Common::String::format("%llu", _storages[i].usedBytes), "cloud");
+ }
+
ConfMan.set("current_storage", Common::String::format("%d", _currentStorageIndex), "cloud");
if (_activeStorage)
_activeStorage->saveConfig("storage_" + getStorageConfigName(_currentStorageIndex) + "_");
@@ -179,13 +187,34 @@ Common::String CloudManager::getStorageLastSync(uint32 index) {
return _storages[index].lastSyncDate;
}
+void CloudManager::setStorageUsername(uint32 index, Common::String name) {
+ if (index >= _storages.size()) return;
+ _storages[index].username = name;
+ save();
+}
+
+void CloudManager::setStorageUsedSpace(uint32 index, uint64 used) {
+ if (index >= _storages.size()) return;
+ _storages[index].usedBytes = used;
+ save();
+}
+
+void CloudManager::setStorageLastSync(uint32 index, Common::String date) {
+ if (index >= _storages.size()) return;
+ _storages[index].lastSyncDate = date;
+ save();
+}
+
void CloudManager::printBool(Storage::BoolResponse response) const {
debug("bool = %s", (response.value ? "true" : "false"));
}
SavesSyncRequest *CloudManager::syncSaves(Storage::BoolCallback callback, Networking::ErrorCallback errorCallback) {
Storage *storage = getCurrentStorage();
- if (storage) return storage->syncSaves(callback, errorCallback);
+ if (storage) {
+ setStorageLastSync(_currentStorageIndex, "???"); //TODO get the date
+ return storage->syncSaves(callback, errorCallback);
+ }
return nullptr;
}