FacebookAuthentication::FacebookAuthentication(MainWindow *mainWindow, QObject *parent)
: QObject(parent),
+ m_loggedIn(false),
m_browser(0),
m_mainWindow(mainWindow)
{
{
qDebug() << __PRETTY_FUNCTION__;
- ///< @todo (HIGH) clear session from SituareService
QSettings settings(SETTINGS_ORGANIZATION_NAME, SETTINGS_APPLICATION_NAME);
if(!keepUsername) {
m_browser->deleteLater();
}
+bool FacebookAuthentication::isLoggedIn()
+{
+ qWarning() << __PRETTY_FUNCTION__;
+
+ return m_loggedIn;
+}
+
void FacebookAuthentication::login()
{
qWarning() << __PRETTY_FUNCTION__;
connect(m_browser, SIGNAL(destroyed(QObject*)),
this, SLOT(browserDestroyed()));
+ connect(m_browser->page()->networkAccessManager(),
+ SIGNAL(sslErrors(QNetworkReply*, QList<QSslError>)),
+ this, SLOT(sslErrors(QNetworkReply*, QList<QSslError>)));
+
connect(m_browser->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)),
this, SLOT(networkReplyHandler(QNetworkReply*)));
}
}
}
+void FacebookAuthentication::logOut()
+{
+ qWarning() << __PRETTY_FUNCTION__;
+
+ clearAccountInformation();
+ m_loggedIn = false;
+ emit loggedOut();
+}
+
void FacebookAuthentication::networkReplyHandler(QNetworkReply *reply)
{
qWarning() <<__PRETTY_FUNCTION__;
return QString();
}
+void FacebookAuthentication::sslErrors(QNetworkReply *reply, const QList<QSslError> &errors)
+{
+ qWarning() << __PRETTY_FUNCTION__;
+
+ Q_UNUSED(errors);
+ reply->ignoreSslErrors();
+}
+
void FacebookAuthentication::urlChanged(const QUrl &url)
{
qWarning() << __PRETTY_FUNCTION__ << url.toString();
qWarning() << __PRETTY_FUNCTION__ << "login finished, parsed session:" << session;
if (!session.isEmpty()) {
destroyLogin();
+ m_loggedIn = true;
emit loggedIn(session);
}
}