First phase of facebookservice and situareservice integration.
[situare] / src / situareservice / situareservice.cpp
index 12a7aa3..d4bb7da 100644 (file)
@@ -31,7 +31,11 @@ SituareService::SituareService(QObject *parent, QNetworkAccessManager *manager)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    connect(&facebookAuthentication, SIGNAL(credentialsReady()), SLOT(credentialsReady())); // not final
+
     connect(networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(requestFinished(QNetworkReply*)));
+
+    credentials = facebookAuthentication.getLoginCredentials(); // not final
 }
 
 SituareService::~SituareService()
@@ -45,8 +49,11 @@ void SituareService::updateLocation(QPointF coordinates, QString status, bool pu
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-//    CookieHandler cookieHandler;
-//    QString cookie = cookieHandler.formCookie(); // ToDo: get the FB session credentials from somewhere, QSettings...
+    CookieHandler cookieHandler;
+
+    QString cookie = cookieHandler.formCookie(API_KEY, credentials.getExpires(), credentials.getUserID(), credentials.getSessionKey(),
+                                              credentials.getSessionSecret(), credentials.getSig(), EN_LOCALE);
+
 
     QString publishValue;
     if(publish) {
@@ -58,21 +65,25 @@ void SituareService::updateLocation(QPointF coordinates, QString status, bool pu
     QString urlParameters = formUrlParameters(coordinates, status, publishValue);
     QUrl url = formUrl(SITUARE_URL, UPDATE_LOCATION, urlParameters);
 
-    //sendRequest(url, COOKIE, cookie);
+    sendRequest(url, COOKIE, cookie);
 }
 
 void SituareService::reverseGeo(QPointF coordinates)
 {
-//    CookieHandler cookieHandler;
-//    QString cookie = cookieHandler.formCookie(); // ToDo: get the FB session credentials from somewhere, QSettings...
+    qDebug() << __PRETTY_FUNCTION__;
+
+    CookieHandler cookieHandler;
+
+    QString cookie = cookieHandler.formCookie(API_KEY, credentials.getExpires(), credentials.getUserID(), credentials.getSessionKey(),
+                                              credentials.getSessionSecret(), credentials.getSig(), EN_LOCALE);
 
     QString urlParameters = formUrlParameters(coordinates);
     QUrl url = formUrl(SITUARE_URL, REVERSE_GEO, urlParameters);
 
-    //sendRequest(url, COOKIE, cookie);
+    sendRequest(url, COOKIE, cookie);
 }
 
-QUrl SituareService::formUrl(QString baseUrl, QString phpScript, QString urlParameters)
+QUrl SituareService::formUrl(const QString baseUrl, const QString phpScript, QString urlParameters)
 {
     qDebug() << __PRETTY_FUNCTION__;
     QString urlString;
@@ -126,7 +137,7 @@ QString SituareService::formUrlParameters(QPointF coordinates, QString status, Q
     return parameters;
 }
 
-void SituareService::sendRequest(QUrl url, QString cookieType, QString cookie)
+void SituareService::sendRequest(QUrl url, const QString cookieType, QString cookie)
 {
     qDebug() << __PRETTY_FUNCTION__ << "url: " << url;
 
@@ -160,14 +171,17 @@ void SituareService::requestFinished(QNetworkReply *reply)
         if(replyArray == ERROR_LAT.toAscii()) {
             qDebug() << "Error: " << ERROR_LAT;
             // ToDo: signal UI?
+            emit error(replyArray);
         }
         else if(replyArray == ERROR_LON.toAscii()) {
             qDebug() << "Error: " << ERROR_LON;
             // ToDo: signal UI?
+            emit error(replyArray);
         }
         else if(replyArray.contains(ERROR_SESSION.toAscii())) {
             qDebug() << "Error: " << ERROR_SESSION;
             // ToDo: signal UI?
+            emit error(replyArray);
         }
         else {
             // no error -> update was successful
@@ -179,3 +193,9 @@ void SituareService::requestFinished(QNetworkReply *reply)
     currentRequests.removeAll(reply);
     reply->deleteLater();
 }
+
+void SituareService::credentialsReady()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+    credentials = facebookAuthentication.getLoginCredentials();
+}