refactor: move notifications from brightray to atom (#15209)
This commit is contained in:
parent
4d085c4aae
commit
a369a4172b
46 changed files with 423 additions and 363 deletions
44
atom/browser/notifications/notification_presenter.cc
Normal file
44
atom/browser/notifications/notification_presenter.cc
Normal file
|
@ -0,0 +1,44 @@
|
|||
// 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 "atom/browser/notifications/notification_presenter.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "atom/browser/notifications/notification.h"
|
||||
|
||||
namespace atom {
|
||||
|
||||
NotificationPresenter::NotificationPresenter() {}
|
||||
|
||||
NotificationPresenter::~NotificationPresenter() {
|
||||
for (Notification* notification : notifications_)
|
||||
delete notification;
|
||||
}
|
||||
|
||||
base::WeakPtr<Notification> NotificationPresenter::CreateNotification(
|
||||
NotificationDelegate* delegate,
|
||||
const std::string& notification_id) {
|
||||
Notification* notification = CreateNotificationObject(delegate);
|
||||
notification->set_notification_id(notification_id);
|
||||
notifications_.insert(notification);
|
||||
return notification->GetWeakPtr();
|
||||
}
|
||||
|
||||
void NotificationPresenter::RemoveNotification(Notification* notification) {
|
||||
notifications_.erase(notification);
|
||||
delete notification;
|
||||
}
|
||||
|
||||
void NotificationPresenter::CloseNotificationWithId(
|
||||
const std::string& notification_id) {
|
||||
auto it = std::find_if(notifications_.begin(), notifications_.end(),
|
||||
[¬ification_id](const Notification* n) {
|
||||
return n->notification_id() == notification_id;
|
||||
});
|
||||
if (it != notifications_.end())
|
||||
(*it)->Dismiss();
|
||||
}
|
||||
|
||||
} // namespace atom
|
Loading…
Add table
Add a link
Reference in a new issue