OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ | 5 #ifndef CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ |
6 #define CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ | 6 #define CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ |
7 | 7 |
8 #include <windows.ui.notifications.h> | 8 #include <windows.ui.notifications.h> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 #include "base/win/metro.h" | 11 #include "base/win/metro.h" |
12 | 12 |
13 // Provides functionality to display a metro style toast notification. | 13 // Provides functionality to display a metro style toast notification. |
14 class ToastNotificationHandler { | 14 class ToastNotificationHandler { |
15 public: | 15 public: |
16 // Holds information about a desktop notification to be displayed. | 16 // Holds information about a desktop notification to be displayed. |
17 struct DesktopNotification { | 17 struct DesktopNotification { |
18 std::string origin_url; | 18 std::string origin_url; |
19 std::string icon_url; | 19 std::string icon_url; |
20 string16 title; | 20 base::string16 title; |
21 string16 body; | 21 base::string16 body; |
22 string16 display_source; | 22 base::string16 display_source; |
23 std::string id; | 23 std::string id; |
24 base::win::MetroNotificationClickedHandler notification_handler; | 24 base::win::MetroNotificationClickedHandler notification_handler; |
25 string16 notification_context; | 25 base::string16 notification_context; |
26 | 26 |
27 DesktopNotification(const char* notification_origin, | 27 DesktopNotification(const char* notification_origin, |
28 const char* notification_icon, | 28 const char* notification_icon, |
29 const wchar_t* notification_title, | 29 const wchar_t* notification_title, |
30 const wchar_t* notification_body, | 30 const wchar_t* notification_body, |
31 const wchar_t* notification_display_source, | 31 const wchar_t* notification_display_source, |
32 const char* notification_id, | 32 const char* notification_id, |
33 base::win::MetroNotificationClickedHandler handler, | 33 base::win::MetroNotificationClickedHandler handler, |
34 const wchar_t* handler_context); | 34 const wchar_t* handler_context); |
35 | 35 |
(...skipping 10 matching lines...) Expand all Loading... |
46 IInspectable* inspectable); | 46 IInspectable* inspectable); |
47 | 47 |
48 private: | 48 private: |
49 mswr::ComPtr<winui::Notifications::IToastNotifier> notifier_; | 49 mswr::ComPtr<winui::Notifications::IToastNotifier> notifier_; |
50 mswr::ComPtr<winui::Notifications::IToastNotification> notification_; | 50 mswr::ComPtr<winui::Notifications::IToastNotification> notification_; |
51 EventRegistrationToken activated_token_; | 51 EventRegistrationToken activated_token_; |
52 DesktopNotification notification_info_; | 52 DesktopNotification notification_info_; |
53 }; | 53 }; |
54 | 54 |
55 #endif // CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ | 55 #endif // CHROME_BROWSER_UI_METRO_DRIVER_TOAST_NOTIFICATION_HANDLER_H_ |
OLD | NEW |