• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
NotifierId(NotifierType type,const std::string & id)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 
NotifierId(const GURL & url)19 NotifierId::NotifierId(const GURL& url)
20     : type(WEB_PAGE),
21       url(url) {}
22 
NotifierId()23 NotifierId::NotifierId()
24     : type(SYSTEM_COMPONENT) {
25 }
26 
operator ==(const NotifierId & other) const27 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 
operator <(const NotifierId & other) const40 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 
Notifier(const NotifierId & notifier_id,const string16 & name,bool enabled)53 Notifier::Notifier(const NotifierId& notifier_id,
54                    const string16& name,
55                    bool enabled)
56     : notifier_id(notifier_id),
57       name(name),
58       enabled(enabled) {
59 }
60 
~Notifier()61 Notifier::~Notifier() {
62 }
63 
NotifierGroup(const gfx::Image & icon,const string16 & name,const string16 & login_info,size_t index)64 NotifierGroup::NotifierGroup(const gfx::Image& icon,
65                              const string16& name,
66                              const string16& login_info,
67                              size_t index)
68     : icon(icon), name(name), login_info(login_info), index(index) {}
69 
~NotifierGroup()70 NotifierGroup::~NotifierGroup() {}
71 
72 }  // namespace message_center
73