X-Git-Url: http://git.maemo.org/git/?p=situare;a=blobdiff_plain;f=src%2Ffacebookservice%2Ffacebookauthentication.cpp;h=aaeff4996a403dfc3711e1cbd1f12070d6210a27;hp=fbb64e10a41c5b05a852dce73e9e67973de9b26b;hb=b72d0f2174bd17a5016936a1cbf90dcd912c1d8a;hpb=a2f9f96e94f3edcaceb87866617799e0f9bd6996 diff --git a/src/facebookservice/facebookauthentication.cpp b/src/facebookservice/facebookauthentication.cpp index fbb64e1..aaeff49 100644 --- a/src/facebookservice/facebookauthentication.cpp +++ b/src/facebookservice/facebookauthentication.cpp @@ -48,6 +48,7 @@ const QString FB_LOGIN_URL = "https://www.facebook.com/login.php"; FacebookAuthentication::FacebookAuthentication(MainWindow *mainWindow, QObject *parent) : QObject(parent), + m_loggedIn(false), m_browser(0), m_mainWindow(mainWindow) { @@ -66,7 +67,6 @@ void FacebookAuthentication::clearAccountInformation(bool keepUsername) { qDebug() << __PRETTY_FUNCTION__; - ///< @todo (HIGH) clear session from SituareService QSettings settings(SETTINGS_ORGANIZATION_NAME, SETTINGS_APPLICATION_NAME); if(!keepUsername) { @@ -88,6 +88,13 @@ void FacebookAuthentication::destroyLogin() m_browser->deleteLater(); } +bool FacebookAuthentication::isLoggedIn() +{ + qWarning() << __PRETTY_FUNCTION__; + + return m_loggedIn; +} + void FacebookAuthentication::login() { qWarning() << __PRETTY_FUNCTION__; @@ -104,6 +111,10 @@ void FacebookAuthentication::login() connect(m_browser, SIGNAL(destroyed(QObject*)), this, SLOT(browserDestroyed())); + connect(m_browser->page()->networkAccessManager(), + SIGNAL(sslErrors(QNetworkReply*, QList)), + this, SLOT(sslErrors(QNetworkReply*, QList))); + connect(m_browser->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReplyHandler(QNetworkReply*))); } @@ -126,6 +137,15 @@ void FacebookAuthentication::login() } } +void FacebookAuthentication::logOut() +{ + qWarning() << __PRETTY_FUNCTION__; + + clearAccountInformation(); + m_loggedIn = false; + emit loggedOut(); +} + void FacebookAuthentication::networkReplyHandler(QNetworkReply *reply) { qWarning() <<__PRETTY_FUNCTION__; @@ -157,6 +177,14 @@ QString FacebookAuthentication::parseSession(const QUrl &url) return QString(); } +void FacebookAuthentication::sslErrors(QNetworkReply *reply, const QList &errors) +{ + qWarning() << __PRETTY_FUNCTION__; + + Q_UNUSED(errors); + reply->ignoreSslErrors(); +} + void FacebookAuthentication::urlChanged(const QUrl &url) { qWarning() << __PRETTY_FUNCTION__ << url.toString(); @@ -181,6 +209,7 @@ void FacebookAuthentication::urlChanged(const QUrl &url) qWarning() << __PRETTY_FUNCTION__ << "login finished, parsed session:" << session; if (!session.isEmpty()) { destroyLogin(); + m_loggedIn = true; emit loggedIn(session); } }