* refactor: clang-tidy modernize-use-nullptr * refactor: clang-tidy modernize-use-equals-default * refactor: clang-tidy modernize-make-unique * refactor: omit nullptr arg from unique_ptr.reset() As per comment by @miniak
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.4 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
// 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 "shell/browser/notifications/notification_presenter.h"
 | 
						|
 | 
						|
#include <algorithm>
 | 
						|
 | 
						|
#include "shell/browser/notifications/notification.h"
 | 
						|
 | 
						|
namespace electron {
 | 
						|
 | 
						|
NotificationPresenter::NotificationPresenter() = default;
 | 
						|
 | 
						|
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 electron
 |