annotate win/wintoast.cpp @ 2882:99311a9091af

C++: Add lambda support via Connect functions on C++11, on older compilers use traditional function pointers instead. Also added inital menu support although it is incomplete as of this commit.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 22 Dec 2022 13:59:46 +0000
parents 2e804b4db81e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 /* Simple WinToast forwarder from Dynamic Windows APIs */
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2
2127
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
3 #include "dw.h"
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 #include "wintoastlib.h"
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
6 using namespace WinToastLib;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
7
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
8 extern "C" {
2625
2e804b4db81e Win: Standardize internal function name style...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
9 LRESULT CALLBACK _dw_wndproc(HWND hWnd, UINT msg, WPARAM mp1, LPARAM mp2);
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
10 }
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
11
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
12 class DWHandler : public IWinToastHandler {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
13 public:
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
14 WinToastTemplate *templ;
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
15
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
16 void toastActivated() const {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
17 // The user clicked in this toast
2625
2e804b4db81e Win: Standardize internal function name style...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
18 _dw_wndproc((HWND)templ, WM_USER+102, 0, 0);
2108
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
19 dw_signal_disconnect_by_window((HWND)templ);
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
20 delete templ;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
21 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
22
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
23 void toastActivated(int actionIndex) const {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
24 // The user clicked on action
2625
2e804b4db81e Win: Standardize internal function name style...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
25 _dw_wndproc((HWND)templ, WM_USER+102, 0, 0);
2108
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
26 dw_signal_disconnect_by_window((HWND)templ);
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
27 delete templ;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
28 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
29
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
30 void toastDismissed(WinToastDismissalReason state) const {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
31 switch (state) {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
32 case UserCanceled:
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
33 // The user dismissed this toast
2108
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
34 dw_signal_disconnect_by_window((HWND)templ);
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
35 delete templ;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
36 break;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
37 case TimedOut:
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
38 // The toast has timed out
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
39 break;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
40 case ApplicationHidden:
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
41 // The application hid the toast using ToastNotifier.hide()
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
42 break;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
43 default:
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
44 // Toast not activated
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
45 break;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
46 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
47 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
48
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
49 void toastFailed() const {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
50 // Error showing current toast
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
51 delete templ;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
52 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
53 };
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
54
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
55
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
56 enum Results {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
57 ToastClicked, // user clicked on the toast
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
58 ToastDismissed, // user dismissed the toast
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
59 ToastTimeOut, // toast timed out
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
60 ToastHided, // application hid the toast
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
61 ToastNotActivated, // toast was not activated
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
62 ToastFailed, // toast failed
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
63 SystemNotSupported, // system does not support toasts
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
64 UnhandledOption, // unhandled option
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
65 MultipleTextNotSupported, // multiple texts were provided
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
66 InitializationFailure, // toast notification manager initialization failure
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
67 ToastNotLaunched // toast could not be launched
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
68 };
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
69
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
70 extern "C" {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
71
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
72 void _dw_toast_init(LPWSTR AppName, LPWSTR AppID)
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
73 {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
74 if(WinToast::isCompatible())
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
75 {
2108
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
76 // Generate a Microsoft compatible Application User Model ID
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
77 LPWSTR company = wcschr(AppID, '.');
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
78 *company = 0;
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
79 LPWSTR product = wcschr(++company, '.');
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
80 *product = 0;
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
81 LPWSTR subproduct = wcschr(++product, '.');
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
82 if(subproduct)
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
83 *subproduct = 0;
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
84 LPWSTR version = subproduct ? wcschr(++subproduct, '.') : NULL;
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
85
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 WinToast::instance()->setAppName(AppName);
2108
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
87 WinToast::instance()->setAppUserModelId(WinToast::instance()->configureAUMI(company, product,
35abef6e33a9 Win: Fixed the notification callback when clicking the toast.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2104
diff changeset
88 subproduct ? subproduct : L"", (version && version++ && _wtoi(version) > 0) ? version : L""));
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 WinToast::instance()->initialize();
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
91 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
93 void *_dw_notification_new(LPWSTR title, LPWSTR image, LPWSTR description)
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
94 {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
95 if(WinToast::isCompatible())
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
96 {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
97 WinToastTemplate *templ = new WinToastTemplate(image ? WinToastTemplate::ImageAndText02 : WinToastTemplate::Text02);
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
98 templ->setTextField(title, WinToastTemplate::FirstLine);
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
99 templ->setAttributionText(description);
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
100 if(image)
2114
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
101 {
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
102 WCHAR fullpath[MAX_PATH+1] = {0};
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
103
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
104 GetFullPathNameW(image, MAX_PATH, fullpath, NULL);
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
105 templ->setImagePath(fullpath);
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2108
diff changeset
106 }
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107 return (void *)templ;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 return NULL;
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 }
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 int _dw_notification_send(void *notification)
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
113 {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
114 if(WinToast::isCompatible())
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 {
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
116 WinToastTemplate *templ = (WinToastTemplate *)notification;
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
117 DWHandler *handler = new DWHandler();
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
118 handler->templ = templ;
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
119
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
120 if(templ && WinToast::instance()->showToast(*templ, handler) >= 0)
2127
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
121 return DW_ERROR_NONE;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 }
2127
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
123 return DW_ERROR_UNKNOWN;
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
124 }
2104
6e55c6f8d816 Added initial notification callback code to the test program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2098
diff changeset
125
2098
665d87a50eac Win: Test that the OS is compatible for WinToast before returning supported.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2089
diff changeset
126 BOOL _dw_toast_is_compatible(void)
665d87a50eac Win: Test that the OS is compatible for WinToast before returning supported.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2089
diff changeset
127 {
665d87a50eac Win: Test that the OS is compatible for WinToast before returning supported.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2089
diff changeset
128 return WinToast::isCompatible();
665d87a50eac Win: Test that the OS is compatible for WinToast before returning supported.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2089
diff changeset
129 }
2089
bcc7877dcdac Win: Add the required wintoast.cpp glue and undo a test change that did
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130 }