// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/logging.h" #include "ui/message_center/notifier_settings.h" namespace message_center { NotifierId::NotifierId(NotifierType type, const std::string& id) : type(type), id(id), system_component_type(-1) { DCHECK(type == APPLICATION || type == SYNCED_NOTIFICATION_SERVICE); DCHECK(!id.empty()); } NotifierId::NotifierId(const GURL& url) : type(WEB_PAGE), url(url), system_component_type(-1) {} NotifierId::NotifierId(int type) : type(SYSTEM_COMPONENT), system_component_type(type) { DCHECK_LE(0, system_component_type); } NotifierId::NotifierId() : type(SYSTEM_COMPONENT), system_component_type(-1) { } bool NotifierId::operator==(const NotifierId& other) const { if (type != other.type) return false; switch (type) { case WEB_PAGE: return url == other.url; case SYSTEM_COMPONENT: return system_component_type == other.system_component_type; case APPLICATION: case SYNCED_NOTIFICATION_SERVICE: return id == other.id; } NOTREACHED(); return false; } Notifier::Notifier(const NotifierId& notifier_id, const string16& name, bool enabled) : notifier_id(notifier_id), name(name), enabled(enabled) { } Notifier::~Notifier() { } NotifierGroup::NotifierGroup(const gfx::Image& icon, const string16& name, const string16& login_info, size_t index) : icon(icon), name(name), login_info(login_info), index(index) {} NotifierGroup::~NotifierGroup() {} } // namespace message_center