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 "base/logging.h" 6 #include "base/strings/string_number_conversions.h" 7 #include "ui/message_center/notifier_settings.h" 8 9 namespace message_center { 10 11 NotifierId::NotifierId(NotifierType type, 12 const std::string& id) 13 : type(type), 14 id(id) { 15 DCHECK(type != WEB_PAGE); 16 DCHECK(!id.empty()); 17 } 18 19 NotifierId::NotifierId(const GURL& url) 20 : type(WEB_PAGE), 21 url(url) {} 22 23 NotifierId::NotifierId() 24 : type(SYSTEM_COMPONENT) { 25 } 26 27 bool NotifierId::operator==(const NotifierId& other) const { 28 if (type != other.type) 29 return false; 30 31 if (profile_id != other.profile_id) 32 return false; 33 34 if (type == WEB_PAGE) 35 return url == other.url; 36 37 return id == other.id; 38 } 39 40 bool NotifierId::operator<(const NotifierId& other) const { 41 if (type != other.type) 42 return type < other.type; 43 44 if (profile_id != other.profile_id) 45 return profile_id < other.profile_id; 46 47 if (type == WEB_PAGE) 48 return url < other.url; 49 50 return id < other.id; 51 } 52 53 Notifier::Notifier(const NotifierId& notifier_id, 54 const base::string16& name, 55 bool enabled) 56 : notifier_id(notifier_id), 57 name(name), 58 enabled(enabled) { 59 } 60 61 Notifier::~Notifier() { 62 } 63 64 NotifierGroup::NotifierGroup(const gfx::Image& icon, 65 const base::string16& name, 66 const base::string16& login_info, 67 size_t index) 68 : icon(icon), name(name), login_info(login_info), index(index) {} 69 70 NotifierGroup::~NotifierGroup() {} 71 72 } // namespace message_center 73