chromium/components/policy/core/common/policy_namespace.h

// Copyright 2013 The Chromium Authors
// 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 <stddef.h>
#include <stdint.h>

#include <string>
#include <vector>

#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 PolicyDomain {};

// 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 {};

PolicyNamespaceList;

struct PolicyNamespaceHash {};

}  // namespace policy

#endif  // COMPONENTS_POLICY_CORE_COMMON_POLICY_NAMESPACE_H_