fake_notifier_settings_provider.cc revision 0f1bc08d4cfcc34181b0b5cbf065c40f687bf740
1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ui/message_center/fake_notifier_settings_provider.h" 6 7#include "base/strings/utf_string_conversions.h" 8#include "ui/gfx/image/image.h" 9 10namespace message_center { 11 12FakeNotifierSettingsProvider::NotifierGroupItem::NotifierGroupItem() { 13} 14 15FakeNotifierSettingsProvider::NotifierGroupItem::~NotifierGroupItem() { 16} 17 18FakeNotifierSettingsProvider::FakeNotifierSettingsProvider() 19 : closed_called_count_(0), 20 active_item_index_(0), 21 notifier_settings_requested_count_(0u) { } 22 23FakeNotifierSettingsProvider::FakeNotifierSettingsProvider( 24 const std::vector<Notifier*>& notifiers) 25 : closed_called_count_(0), 26 active_item_index_(0), 27 notifier_settings_requested_count_(0u) { 28 NotifierGroupItem item; 29 item.group = new NotifierGroup(gfx::Image(), 30 UTF8ToUTF16("Fake name"), 31 UTF8ToUTF16("fake@email.com"), 32 true); 33 item.notifiers = notifiers; 34 items_.push_back(item); 35} 36 37FakeNotifierSettingsProvider::~FakeNotifierSettingsProvider() { 38 for (size_t i = 0; i < items_.size(); ++i) { 39 delete items_[i].group; 40 } 41} 42 43size_t FakeNotifierSettingsProvider::GetNotifierGroupCount() const { 44 return items_.size(); 45} 46 47const message_center::NotifierGroup& 48FakeNotifierSettingsProvider::GetNotifierGroupAt(size_t index) const { 49 return *(items_[index].group); 50} 51 52bool FakeNotifierSettingsProvider::IsNotifierGroupActiveAt( 53 size_t index) const { 54 return active_item_index_ == index; 55} 56 57void FakeNotifierSettingsProvider::SwitchToNotifierGroup(size_t index) { 58 active_item_index_ = index; 59} 60 61const message_center::NotifierGroup& 62FakeNotifierSettingsProvider::GetActiveNotifierGroup() const { 63 return *(items_[active_item_index_].group); 64} 65 66void FakeNotifierSettingsProvider::GetNotifierList( 67 std::vector<Notifier*>* notifiers) { 68 notifiers->clear(); 69 for (size_t i = 0; i < items_[active_item_index_].notifiers.size(); ++i) 70 notifiers->push_back(items_[active_item_index_].notifiers[i]); 71} 72 73void FakeNotifierSettingsProvider::SetNotifierEnabled(const Notifier& notifier, 74 bool enabled) { 75 enabled_[¬ifier] = enabled; 76} 77 78void FakeNotifierSettingsProvider::OnNotifierSettingsClosing() { 79 closed_called_count_++; 80} 81 82bool FakeNotifierSettingsProvider::NotifierHasAdvancedSettings( 83 const message_center::NotifierId& notifier_id) const { 84 if (!notifier_id_with_settings_handler_) 85 return false; 86 return *notifier_id_with_settings_handler_ == notifier_id; 87} 88 89void FakeNotifierSettingsProvider::OnNotifierAdvancedSettingsRequested( 90 const NotifierId& notifier_id, 91 const std::string* notification_id) { 92 notifier_settings_requested_count_++; 93} 94 95void FakeNotifierSettingsProvider::AddObserver( 96 NotifierSettingsObserver* observer) { 97} 98 99void FakeNotifierSettingsProvider::RemoveObserver( 100 NotifierSettingsObserver* observer) { 101} 102 103bool FakeNotifierSettingsProvider::WasEnabled(const Notifier& notifier) { 104 return enabled_[¬ifier]; 105} 106 107void FakeNotifierSettingsProvider::AddGroup( 108 NotifierGroup* group, const std::vector<Notifier*>& notifiers) { 109 NotifierGroupItem item; 110 item.group = group; 111 item.notifiers = notifiers; 112 items_.push_back(item); 113} 114 115void FakeNotifierSettingsProvider::SetNotifierHasAdvancedSettings( 116 const NotifierId& notifier_id) { 117 notifier_id_with_settings_handler_.reset(new NotifierId(notifier_id)); 118} 119 120int FakeNotifierSettingsProvider::closed_called_count() { 121 return closed_called_count_; 122} 123 124size_t FakeNotifierSettingsProvider::settings_requested_count() const { 125 return notifier_settings_requested_count_; 126} 127 128} // namespace message_center 129