| Index: components/policy/core/common/policy_namespace.h
|
| diff --git a/components/policy/core/common/policy_namespace.h b/components/policy/core/common/policy_namespace.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4d8cf1cc0f78ff79b12578a2ef69ea7ca5ba00e5
|
| --- /dev/null
|
| +++ b/components/policy/core/common/policy_namespace.h
|
| @@ -0,0 +1,49 @@
|
| +// Copyright 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.
|
| +
|
| +#ifndef COMPONENTS_POLICY_CORE_COMMON_POLICY_NAMESPACE_H_
|
| +#define COMPONENTS_POLICY_CORE_COMMON_POLICY_NAMESPACE_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "components/policy/policy_export.h"
|
| +
|
| +namespace policy {
|
| +
|
| +// Policies are namespaced by a (PolicyDomain, ID) pair. The meaning of the ID
|
| +// string depends on the domain; for example, if the PolicyDomain is
|
| +// "extensions" then the ID identifies the extension that the policies control.
|
| +enum POLICY_EXPORT PolicyDomain {
|
| + // The component ID for chrome policies is always the empty string.
|
| + POLICY_DOMAIN_CHROME,
|
| +
|
| + // The extensions policy domain is a work in progress. Included here for
|
| + // tests.
|
| + POLICY_DOMAIN_EXTENSIONS,
|
| +
|
| + // Must be the last entry.
|
| + POLICY_DOMAIN_SIZE,
|
| +};
|
| +
|
| +// Groups a policy domain and a component ID in a single object representing
|
| +// a policy namespace. Objects of this class can be used as keys in std::maps.
|
| +struct POLICY_EXPORT PolicyNamespace {
|
| + public:
|
| + PolicyNamespace();
|
| + PolicyNamespace(PolicyDomain domain, const std::string& component_id);
|
| + PolicyNamespace(const PolicyNamespace& other);
|
| + ~PolicyNamespace();
|
| +
|
| + PolicyNamespace& operator=(const PolicyNamespace& other);
|
| + bool operator<(const PolicyNamespace& other) const;
|
| + bool operator==(const PolicyNamespace& other) const;
|
| + bool operator!=(const PolicyNamespace& other) const;
|
| +
|
| + PolicyDomain domain;
|
| + std::string component_id;
|
| +};
|
| +
|
| +} // namespace policy
|
| +
|
| +#endif // COMPONENTS_POLICY_CORE_COMMON_POLICY_NAMESPACE_H_
|
|
|