fix: make appcontroller member variables static

This commit is contained in:
Thomas Piccirello 2025-08-14 16:45:40 -07:00
commit cd03dc57aa
No known key found for this signature in database
2 changed files with 30 additions and 24 deletions

View file

@ -90,36 +90,42 @@ const QString KEY_FILE_METADATA_LAST_MODIFICATION_DATE = u"last_modification_dat
const int CLIENT_DATA_FILE_MAX_SIZE = 1024 * 1024; const int CLIENT_DATA_FILE_MAX_SIZE = 1024 * 1024;
const QString CLIENT_DATA_FILE_NAME = u"web_data.json"_s; const QString CLIENT_DATA_FILE_NAME = u"web_data.json"_s;
Path AppController::m_clientDataFilePath;
QJsonObject AppController::m_clientData;
AppController::AppController(IApplication *app, QObject *parent) AppController::AppController(IApplication *app, QObject *parent)
: APIController(app, parent) : APIController(app, parent)
{ {
m_clientDataFilePath = specialFolderLocation(SpecialFolder::Data) / Path(CLIENT_DATA_FILE_NAME); if (m_clientDataFilePath.isEmpty())
if (m_clientDataFilePath.exists())
{ {
const auto readResult = Utils::IO::readFile(m_clientDataFilePath, CLIENT_DATA_FILE_MAX_SIZE); m_clientDataFilePath = specialFolderLocation(SpecialFolder::Data) / Path(CLIENT_DATA_FILE_NAME);
if (!readResult) if (m_clientDataFilePath.exists())
{ {
LogMsg(tr("Failed to load web client data. %1").arg(readResult.error().message), Log::WARNING); const auto readResult = Utils::IO::readFile(m_clientDataFilePath, CLIENT_DATA_FILE_MAX_SIZE);
return; if (!readResult)
} {
LogMsg(tr("Failed to load web client data. %1").arg(readResult.error().message), Log::WARNING);
return;
}
QJsonParseError jsonError; QJsonParseError jsonError;
const QJsonDocument jsonDoc = QJsonDocument::fromJson(readResult.value(), &jsonError); const QJsonDocument jsonDoc = QJsonDocument::fromJson(readResult.value(), &jsonError);
if (jsonError.error != QJsonParseError::NoError) if (jsonError.error != QJsonParseError::NoError)
{ {
LogMsg(tr("Failed to parse web client data. File: \"%1\". Error: \"%2\"") LogMsg(tr("Failed to parse web client data. File: \"%1\". Error: \"%2\"")
.arg(m_clientDataFilePath.toString(), jsonError.errorString()), Log::WARNING); .arg(m_clientDataFilePath.toString(), jsonError.errorString()), Log::WARNING);
return; return;
} }
if (!jsonDoc.isObject()) if (!jsonDoc.isObject())
{ {
LogMsg(tr("Failed to load web client data. File: \"%1\". Error: \"Invalid data format\"") LogMsg(tr("Failed to load web client data. File: \"%1\". Error: \"Invalid data format\"")
.arg(m_clientDataFilePath.toString()), Log::WARNING); .arg(m_clientDataFilePath.toString()), Log::WARNING);
return; return;
} }
m_clientData = jsonDoc.object(); m_clientData = jsonDoc.object();
}
} }
} }

View file

@ -62,6 +62,6 @@ private slots:
void networkInterfaceAddressListAction(); void networkInterfaceAddressListAction();
private: private:
Path m_clientDataFilePath; static Path m_clientDataFilePath;
QJsonObject m_clientData; static QJsonObject m_clientData;
}; };