Files
komplex-hub/KomplexHubPlugin/common/coreservices.cpp
T
Digital Artifex 896bb0d965 Minor changes
2026-08-12 03:01:23 -04:00

66 lines
1.7 KiB
C++

#include "coreservices.h"
#include "logging.h"
QNetworkAccessManager *CoreServices::s_networkAccessManager = new QNetworkAccessManager();
QMutex CoreServices::s_networkAccessMutex;
QSharedPointer<QNetworkAccessManager> CoreServices::s_networkAccessPointer;
auto CoreServices::networkAccessManager() -> QWeakPointer<QNetworkAccessManager>
{
QMutexLocker locker(&s_networkAccessMutex);
if(!s_networkAccessPointer)
{
s_networkAccessManager = new QNetworkAccessManager;
s_networkAccessManager->setAutoDeleteReplies(true);
QObject::connect(
s_networkAccessManager,
&QNetworkAccessManager::sslErrors,
s_networkAccessManager,
[] (QNetworkReply *reply, const QList<QSslError> &errors)
{
for(const auto &error : errors)
{
LOG_ERROR(
"CoreServices::networkAccessManager",
error.errorString().toStdString().c_str()
);
}
#ifdef KOMPLEX_LOCAL_DEV
reply->ignoreSslErrors();
#endif
}
);
s_networkAccessPointer = QSharedPointer<QNetworkAccessManager>(
s_networkAccessManager,
&QNetworkAccessManager::deleteLater
);
}
return s_networkAccessPointer.toWeakRef();
}
auto CoreServices::sessionToken() -> QByteArray
{
LOG_ERROR_X(true,
"CoreServices::sessionToken",
"User services not yet implemented",
{}
);
}
auto CoreServices::screenSize() -> QSize
{
QScreen *screen = QGuiApplication::primaryScreen();
if(screen == nullptr)
{
return QSize(0,0);
}
return screen->size();
}