chromium/components/policy/core/browser/webui/policy_status_provider.h

// Copyright 2021 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_BROWSER_WEBUI_POLICY_STATUS_PROVIDER_H_
#define COMPONENTS_POLICY_CORE_BROWSER_WEBUI_POLICY_STATUS_PROVIDER_H_

#include <memory>

#include "base/functional/callback_helpers.h"
#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "base/time/clock.h"
#include "base/time/time.h"
#include "base/values.h"
#include "components/policy/policy_export.h"

class PrefService;

namespace base {
class Time;
}

namespace enterprise_management {
class PolicyData;
}

namespace policy {
class CloudPolicyClient;
class CloudPolicyCore;
class CloudPolicyStore;

inline constexpr char kPolicyDescriptionKey[] =;
inline constexpr char kFlexOrgWarningKey[] =;

// The following constants identify top-level keys in the dictionary returned by
// PolicyStatusProvider.
inline constexpr char kAssetIdKey[] =;
inline constexpr char kLocationKey[] =;
inline constexpr char kDirectoryApiIdKey[] =;
inline constexpr char kGaiaIdKey[] =;
inline constexpr char kClientIdKey[] =;
inline constexpr char kUsernameKey[] =;
inline constexpr char kEnterpriseDomainManagerKey[] =;
inline constexpr char kDomainKey[] =;
inline constexpr char kEnrollmentTokenKey[] =;

// An interface for querying the status of a policy provider.  It surfaces
// things like last fetch time or status of the backing store, but not the
// actual policies themselves.
class POLICY_EXPORT PolicyStatusProvider {};

}  // namespace policy

#endif  // COMPONENTS_POLICY_CORE_BROWSER_WEBUI_POLICY_STATUS_PROVIDER_H_