Home | History | Annotate | Download | only in message_center
      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 
     10 namespace message_center {
     11 
     12 FakeNotifierSettingsProvider::NotifierGroupItem::NotifierGroupItem() {
     13 }
     14 
     15 FakeNotifierSettingsProvider::NotifierGroupItem::~NotifierGroupItem() {
     16 }
     17 
     18 FakeNotifierSettingsProvider::FakeNotifierSettingsProvider() {
     19 }
     20 
     21 FakeNotifierSettingsProvider::FakeNotifierSettingsProvider(
     22     const std::vector<Notifier*>& notifiers)
     23     : closed_called_count_(0),
     24       active_item_index_(0) {
     25   NotifierGroupItem item;
     26   item.group = new NotifierGroup(gfx::Image(),
     27                                  UTF8ToUTF16("Fake name"),
     28                                  UTF8ToUTF16("fake (at) email.com"),
     29                                  true);
     30   item.notifiers = notifiers;
     31   items_.push_back(item);
     32 }
     33 
     34 FakeNotifierSettingsProvider::~FakeNotifierSettingsProvider() {
     35   for (size_t i = 0; i < items_.size(); ++i) {
     36     delete items_[i].group;
     37   }
     38 }
     39 
     40 size_t FakeNotifierSettingsProvider::GetNotifierGroupCount() const {
     41   return items_.size();
     42 }
     43 
     44 const message_center::NotifierGroup&
     45 FakeNotifierSettingsProvider::GetNotifierGroupAt(size_t index) const {
     46   return *(items_[index].group);
     47 }
     48 
     49 bool FakeNotifierSettingsProvider::IsNotifierGroupActiveAt(
     50     size_t index) const {
     51   return active_item_index_ == index;
     52 }
     53 
     54 void FakeNotifierSettingsProvider::SwitchToNotifierGroup(size_t index) {
     55   active_item_index_ = index;
     56 }
     57 
     58 const message_center::NotifierGroup&
     59 FakeNotifierSettingsProvider::GetActiveNotifierGroup() const {
     60   return *(items_[active_item_index_].group);
     61 }
     62 
     63 void FakeNotifierSettingsProvider::GetNotifierList(
     64     std::vector<Notifier*>* notifiers) {
     65   notifiers->clear();
     66   for (size_t i = 0; i < items_[active_item_index_].notifiers.size(); ++i)
     67     notifiers->push_back(items_[active_item_index_].notifiers[i]);
     68 }
     69 
     70 void FakeNotifierSettingsProvider::SetNotifierEnabled(const Notifier& notifier,
     71                                                       bool enabled) {
     72   enabled_[&notifier] = enabled;
     73 }
     74 
     75 void FakeNotifierSettingsProvider::OnNotifierSettingsClosing() {
     76   closed_called_count_++;
     77 }
     78 
     79 void FakeNotifierSettingsProvider::AddObserver(
     80     NotifierSettingsObserver* observer) {
     81 }
     82 
     83 void FakeNotifierSettingsProvider::RemoveObserver(
     84     NotifierSettingsObserver* observer) {
     85 }
     86 
     87 bool FakeNotifierSettingsProvider::WasEnabled(const Notifier& notifier) {
     88   return enabled_[&notifier];
     89 }
     90 
     91 void FakeNotifierSettingsProvider::AddGroup(
     92     NotifierGroup* group, const std::vector<Notifier*>& notifiers) {
     93   NotifierGroupItem item;
     94   item.group = group;
     95   item.notifiers = notifiers;
     96   items_.push_back(item);
     97 }
     98 
     99 int FakeNotifierSettingsProvider::closed_called_count() {
    100   return closed_called_count_;
    101 }
    102 
    103 }  // namespace message_center
    104