#include "wintoast_handler.h" class WinToastHandlerTemplate : public IWinToastHandler { public: std::function m_onActivated = nullptr; void toastActivated(int actionIndex) const { if (m_onActivated) { m_onActivated(); } } void toastActivated(std::wstring response) const { if (m_onActivated) { m_onActivated(); } } void toastActivated() const { if (m_onActivated) { m_onActivated(); } } void toastDismissed(WinToastDismissalReason) const {} void toastFailed() const {} }; WinToastHandler toastHandler; bool WinToastHandler::create_instance() { if (!WinToast::isCompatible()) { return false; } WinToast::instance()->setAppName(L"Bigscreen Beyond Utility"); WinToast::instance()->setAppUserModelId(L"Bigscreen.BeyondUtility.BeyondUtility.20540"); return WinToast::instance()->initialize(); } void WinToastHandler::show_notification(const std::wstring& message, const std::wstring& title, std::function onActivate) { if (WinToast::instance() != nullptr) { WinToastHandlerTemplate* handler = new WinToastHandlerTemplate(); handler->m_onActivated = onActivate; WinToastTemplate toast(WinToastTemplate::Text02); toast.setTextField(title, WinToastTemplate::FirstLine); toast.setTextField(message, WinToastTemplate::SecondLine); toast.setAudioOption(WinToastTemplate::AudioOption::Default); toast.setDuration(WinToastTemplate::Long); WinToast::instance()->showToast(toast, handler); } }