1// Copyright 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 "components/policy/core/common/policy_namespace.h"
6
7namespace policy {
8
9PolicyNamespace::PolicyNamespace() {}
10
11PolicyNamespace::PolicyNamespace(PolicyDomain domain,
12                                 const std::string& component_id)
13    : domain(domain),
14      component_id(component_id) {}
15
16PolicyNamespace::PolicyNamespace(const PolicyNamespace& other)
17    : domain(other.domain),
18      component_id(other.component_id) {}
19
20PolicyNamespace::~PolicyNamespace() {}
21
22PolicyNamespace& PolicyNamespace::operator=(const PolicyNamespace& other) {
23  domain = other.domain;
24  component_id = other.component_id;
25  return *this;
26}
27
28bool PolicyNamespace::operator<(const PolicyNamespace& other) const {
29  return domain < other.domain ||
30         (domain == other.domain && component_id < other.component_id);
31}
32
33bool PolicyNamespace::operator==(const PolicyNamespace& other) const {
34  return domain == other.domain && component_id == other.component_id;
35}
36
37bool PolicyNamespace::operator!=(const PolicyNamespace& other) const {
38  return !(*this == other);
39}
40
41}  // namespace policy
42