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