MCPcopy Create free account
hub / github.com/DistroAV/DistroAV / onCheckForUpdateNetworkFinish

Function onCheckForUpdateNetworkFinish

src/forms/update.cpp:320–406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

318}
319
320void onCheckForUpdateNetworkFinish(const int httpStatusCode, const QString &responseData, const QString &errorData,
321 UserRequestCallback userRequestCallback)
322{
323 auto logLevel = LOG_LEVEL;
324 if (logLevel >= LOG_DEBUG) {
325 obs_log(LOG_DEBUG,
326 "onCheckForUpdateNetworkFinish(httpStatusCode=%d, responseData='%s', errorData='%s', userRequestCallback=%s)",
327 httpStatusCode, QT_TO_UTF8(responseData), QT_TO_UTF8(errorData),
328 userRequestCallback ? "..." : "nullptr");
329 } else {
330 obs_log(LOG_DEBUG,
331 "onCheckForUpdateNetworkFinish(httpStatusCode=%d, responseData=..., errorData='%s', userRequestCallback=%s)",
332 httpStatusCode, QT_TO_UTF8(errorData), userRequestCallback ? "..." : "nullptr");
333 }
334
335 auto pluginUpdateInfo = PluginUpdateInfo(httpStatusCode, responseData, errorData);
336 if (!pluginUpdateInfo.errorData.isEmpty()) {
337 obs_log(LOG_WARNING,
338 "WARN-417 - Update Check received a non-expected response. httpStatusCode=%d, errorData='%s'; ignoring response",
339 httpStatusCode, QT_TO_UTF8(pluginUpdateInfo.errorData));
340 obs_log(LOG_DEBUG,
341 "onCheckForUpdateNetworkFinish: Error! httpStatusCode=%d, errorData='%s'; ignoring response",
342 httpStatusCode, QT_TO_UTF8(pluginUpdateInfo.errorData));
343 if (userRequestCallback) {
344 userRequestCallback(pluginUpdateInfo);
345 }
346 return;
347 }
348
349 obs_log(LOG_DEBUG, "onCheckForUpdateNetworkFinish: Success! httpStatusCode=%d", httpStatusCode);
350 obs_log(LOG_DEBUG, "onCheckForUpdateNetworkFinish: jsonDocument='%s'",
351 pluginUpdateInfo.jsonDocument.toJson().constData());
352 obs_log(LOG_DEBUG, "onCheckForUpdateNetworkFinish: versionCurrent=%s",
353 QT_TO_UTF8(pluginUpdateInfo.versionCurrent.toString()));
354 obs_log(LOG_DEBUG, "onCheckForUpdateNetworkFinish: %sversionLatest=%s",
355 pluginUpdateInfo.fakeVersionLatest ? "FAKE " : "",
356 QT_TO_UTF8(pluginUpdateInfo.versionLatest.toString()));
357
358 auto config = Config::Current();
359
360 auto minAutoUpdateCheckIntervalSeconds = pluginUpdateInfo.minAutoUpdateCheckIntervalSeconds;
361 config->MinAutoUpdateCheckIntervalSeconds(minAutoUpdateCheckIntervalSeconds);
362
363 auto forceUpdate = Config::UpdateForce;
364
365 if (userRequestCallback) {
366 // User requested update check ignores SkipUpdateVersion
367 userRequestCallback(pluginUpdateInfo);
368 } else {
369 // Non-user requested update check respects SkipUpdateVersion
370 auto versionSkip = config->SkipUpdateVersion();
371 if (forceUpdate < 1 && pluginUpdateInfo.versionLatest == versionSkip) {
372 obs_log(LOG_DEBUG,
373 "onCheckForUpdateNetworkFinish: versionLatest == versionSkip(%s); ignoring update",
374 QT_TO_UTF8(versionSkip.toString()));
375 return;
376 }
377 }

Callers 1

updateCheckStartFunction · 0.85

Calls 3

PluginUpdateInfoClass · 0.85
SkipUpdateVersionMethod · 0.80

Tested by

no test coverage detected