1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright (c) 2015 GitHub, Inc.
- // Use of this source code is governed by the MIT license that can be
- // found in the LICENSE file.
- #include "brightray/browser/notification.h"
- #include "brightray/browser/notification_delegate.h"
- #include "brightray/browser/notification_presenter.h"
- namespace brightray {
- NotificationOptions::NotificationOptions() = default;
- NotificationOptions::~NotificationOptions() = default;
- Notification::Notification(NotificationDelegate* delegate,
- NotificationPresenter* presenter)
- : delegate_(delegate), presenter_(presenter), weak_factory_(this) {}
- Notification::~Notification() {
- if (delegate())
- delegate()->NotificationDestroyed();
- }
- void Notification::NotificationClicked() {
- if (delegate())
- delegate()->NotificationClick();
- Destroy();
- }
- void Notification::NotificationDismissed() {
- if (delegate())
- delegate()->NotificationClosed();
- Destroy();
- }
- void Notification::NotificationFailed() {
- if (delegate())
- delegate()->NotificationFailed();
- Destroy();
- }
- void Notification::Destroy() {
- presenter()->RemoveNotification(this);
- }
- } // namespace brightray
|