28std::string printfToString(
const char *format, ...)
33 auto dryVsnprintfResult = std::vsnprintf(
nullptr, 0, format, ap);
36 if (dryVsnprintfResult < 0)
37 qOhosReportFatalErrorAndAbort(
"String formatting with format '%s' failed: %d", format, dryVsnprintfResult);
39 auto outputSize =
static_cast<
std::size_t>(dryVsnprintfResult);
41 std::string output(outputSize + 1,
'\0');
44 auto vsnprintfResult = std::vsnprintf(&output[0], output.size(), format, ap);
47 if (vsnprintfResult < 0)
48 qOhosReportFatalErrorAndAbort(
"String formatting with format '%s' failed: %d", format, vsnprintfResult);
50 output.resize(outputSize);
61 QOhosJsState &jsState, std::optional<QtOhos::QObjectThreadSafeRef> optInstanceMainWindowRef)
63 if (!optInstanceMainWindowRef.has_value())
64 return jsState.defaultQAbility();
66 auto optQAbility = jsState.tryGetQAbilityByQWindow(optInstanceMainWindowRef.value());
69 QtForOhos,
"%s: QAbility for window '%s' no longer exists",
70 Q_FUNC_INFO, optInstanceMainWindowRef.value().refName().c_str());