find_package(KF5Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
find_package(KPimSMTP ${KSMTP_LIB_VERSION} CONFIG REQUIRED)
-find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED)
+find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG)
#it will replace kwallet support
find_package(Qt5Keychain CONFIG)
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f00)
add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055400)
+if(KPimGAPI_FOUND)
+ add_definitions(-DWITH_GAPI)
+endif(KPimGAPI_FOUND)
+
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(BUILD_TESTING)
#include <KSMTP/LoginJob>
#include <KSMTP/SendJob>
+#ifdef WITH_GAPI
#include <KGAPI/Account>
#include <KGAPI/AccountManager>
#include <KGAPI/AuthJob>
+#endif
#define GOOGLE_API_KEY QStringLiteral("554041944266.apps.googleusercontent.com")
#define GOOGLE_API_SECRET QStringLiteral("mdT1DjzohxN3npUUzkENT0gO")
return;
}
+#ifdef WITH_GAPI
if (transport()->authenticationType() == TransportBase::EnumAuthenticationType::XOAUTH2) {
auto promise = KGAPI2::AccountManager::instance()->findAccount(GOOGLE_API_KEY, transport()->userName(), {KGAPI2::Account::mailScopeUrl()});
connect(promise, &KGAPI2::AccountPromise::finished, this, [forceRefresh, this](KGAPI2::AccountPromise *promise) {
} else {
startLoginJob();
}
+#else
+ startLoginJob();
+#endif
}
+#ifdef WITH_GAPI
void SmtpJob::onTokenRequestFinished(KGAPI2::AccountPromise *promise)
{
if (promise->hasError()) {
transport()->setPassword(tokens);
startLoginJob();
}
+#endif
void SmtpJob::startLoginJob()
{