chromium/components/policy/core/common/policy_types.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_TYPES_H_
#define COMPONENTS_POLICY_CORE_COMMON_POLICY_TYPES_H_

namespace policy {

// The scope of a policy flags whether it is meant to be applied to the current
// user or to the machine.  Note that this property pertains to the source of
// the policy and has no direct correspondence to the distinction between User
// Policy and Device Policy.
enum PolicyScope {};

// The level of a policy determines its enforceability and whether users can
// override it or not. The values are listed in increasing order of priority.
enum PolicyLevel {};

// The source of a policy indicates where its value is originating from. The
// sources are ordered by priority (with weakest policy first).
enum PolicySource {};

// The priorities are set in order, with lowest priority first. A similar enum
// doesn't exist for Chrome OS since there is a 1:1 mapping from source to
// priority, so source is used directly in the priority comparison.
enum PolicyPriorityBrowser {};

// The `PolicyFetchReason` enum is used to tag requests to DMServer. This allows
// for more targeted monitoring and alerting.
enum class PolicyFetchReason {};

}  // namespace policy

#endif  // COMPONENTS_POLICY_CORE_COMMON_POLICY_TYPES_H_