36 return ScopedMessageBox (runAsync (std::move (native), std::move (callback)));
47 nativeImplementation->close();
56 result->self = result;
57 result->triggerAsyncUpdate();
63 : callback (std::move (c)), nativeImplementation (std::move (p)) {}
65 void handleAsyncUpdate()
override
69 const auto notifyRecipient = [result, error, weakRecipient]
71 if (
const auto locked = weakRecipient.lock())
73 NullCheckedInvocation::invoke (locked->callback, result, error);