158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// found in the LICENSE file. 458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "ui/message_center/notification_blocker.h" 658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "ui/message_center/message_center.h" 858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace message_center { 1058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)NotificationBlocker::NotificationBlocker(MessageCenter* message_center) 1258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) : message_center_(message_center) { 1358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (message_center_) 1458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) message_center_->AddNotificationBlocker(this); 1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 1658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)NotificationBlocker::~NotificationBlocker() { 1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (message_center_) 1958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) message_center_->RemoveNotificationBlocker(this); 2058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 2158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void NotificationBlocker::AddObserver(NotificationBlocker::Observer* observer) { 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) observers_.AddObserver(observer); 2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void NotificationBlocker::RemoveObserver( 2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) NotificationBlocker::Observer* observer) { 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) observers_.RemoveObserver(observer); 2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 3058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 31a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)bool NotificationBlocker::ShouldShowNotification( 32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const NotifierId& notifier_id) const { 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) return true; 34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)} 35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void NotificationBlocker::NotifyBlockingStateChanged() { 37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) FOR_EACH_OBSERVER( 38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) NotificationBlocker::Observer, observers_, OnBlockingStateChanged(this)); 39a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)} 40a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 4158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} // namespace message_center 42