aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/onedrive
diff options
context:
space:
mode:
authorAlexander Tkachev2016-05-26 19:22:27 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commitb246c17850687e7b15b644b761fbfe835ffc1c32 (patch)
treec8ddc679b4ccf46d291cfc4e7bab5d201d8e8771 /backends/cloud/onedrive
parenta7b28605a01b59de6f3acc9df4cd1cac707c39e7 (diff)
downloadscummvm-rg350-b246c17850687e7b15b644b761fbfe835ffc1c32.tar.gz
scummvm-rg350-b246c17850687e7b15b644b761fbfe835ffc1c32.tar.bz2
scummvm-rg350-b246c17850687e7b15b644b761fbfe835ffc1c32.zip
CLOUD: Fix CurlJsonRequest to use JsonCallback
Type safety first.
Diffstat (limited to 'backends/cloud/onedrive')
-rw-r--r--backends/cloud/onedrive/onedrivestorage.cpp12
-rw-r--r--backends/cloud/onedrive/onedrivestorage.h5
2 files changed, 9 insertions, 8 deletions
diff --git a/backends/cloud/onedrive/onedrivestorage.cpp b/backends/cloud/onedrive/onedrivestorage.cpp
index 36b3e26f1b..833ba8e558 100644
--- a/backends/cloud/onedrive/onedrivestorage.cpp
+++ b/backends/cloud/onedrive/onedrivestorage.cpp
@@ -56,7 +56,7 @@ void OneDriveStorage::getAccessToken(BoolCallback callback, Common::String code)
return;
}
- Networking::DataCallback innerCallback = new Common::CallbackBridge<OneDriveStorage, RequestBoolPair, Networking::RequestDataPair>(this, &OneDriveStorage::tokenRefreshed, callback);
+ Networking::JsonCallback innerCallback = new Common::CallbackBridge<OneDriveStorage, RequestBoolPair, Networking::RequestJsonPair>(this, &OneDriveStorage::tokenRefreshed, callback);
Networking::CurlJsonRequest *request = new Networking::CurlJsonRequest(innerCallback, "https://login.live.com/oauth20_token.srf");
if (codeFlow) {
request->addPostField("code=" + code);
@@ -71,8 +71,8 @@ void OneDriveStorage::getAccessToken(BoolCallback callback, Common::String code)
ConnMan.addRequest(request);
}
-void OneDriveStorage::tokenRefreshed(BoolCallback callback, Networking::RequestDataPair pair) {
- Common::JSONValue *json = (Common::JSONValue *)pair.value;
+void OneDriveStorage::tokenRefreshed(BoolCallback callback, Networking::RequestJsonPair pair) {
+ Common::JSONValue *json = pair.value;
if (!json) {
warning("OneDriveStorage: got NULL instead of JSON");
if (callback) (*callback)(RequestBoolPair(-1, false));
@@ -117,8 +117,8 @@ void OneDriveStorage::printJsonTokenReceived(RequestBoolPair pair) {
if (pair.value) syncSaves(0); //try again
}
-void OneDriveStorage::printJson(Networking::RequestDataPair pair) {
- Common::JSONValue *json = (Common::JSONValue *)pair.value;
+void OneDriveStorage::printJson(Networking::RequestJsonPair pair) {
+ Common::JSONValue *json = pair.value;
if (!json) {
warning("printJson: NULL");
return;
@@ -139,7 +139,7 @@ void OneDriveStorage::printJson(Networking::RequestDataPair pair) {
int32 OneDriveStorage::syncSaves(BoolCallback callback) {
//this is not the real syncSaves() implementation
- Networking::DataCallback innerCallback = new Common::Callback<OneDriveStorage, Networking::RequestDataPair>(this, &OneDriveStorage::printJson);
+ Networking::JsonCallback innerCallback = new Common::Callback<OneDriveStorage, Networking::RequestJsonPair>(this, &OneDriveStorage::printJson);
Networking::CurlJsonRequest *request = new Networking::CurlJsonRequest(innerCallback, "https://api.onedrive.com/v1.0/drives/");
request->addHeader("Authorization: bearer " + _token);
return ConnMan.addRequest(request);
diff --git a/backends/cloud/onedrive/onedrivestorage.h b/backends/cloud/onedrive/onedrivestorage.h
index 3c92880750..1cb7017d64 100644
--- a/backends/cloud/onedrive/onedrivestorage.h
+++ b/backends/cloud/onedrive/onedrivestorage.h
@@ -25,6 +25,7 @@
#include "backends/cloud/storage.h"
#include "common/callback.h"
+#include "backends/networking/curl/curljsonrequest.h"
namespace Cloud {
namespace OneDrive {
@@ -49,10 +50,10 @@ class OneDriveStorage: public Cloud::Storage {
* continue your work when new token is available.
*/
void getAccessToken(BoolCallback callback, Common::String code = "");
- void tokenRefreshed(BoolCallback callback, Networking::RequestDataPair pair);
+ void tokenRefreshed(BoolCallback callback, Networking::RequestJsonPair pair);
void codeFlowComplete(RequestBoolPair pair);
- void printJson(Networking::RequestDataPair pair);
+ void printJson(Networking::RequestJsonPair pair);
void printJsonTokenReceived(RequestBoolPair pair);
public:
virtual ~OneDriveStorage();