#ifndef CHROME_UPDATER_POLICY_POLICY_FETCHER_H_
#define CHROME_UPDATER_POLICY_POLICY_FETCHER_H_
#include <optional>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_refptr.h"
#include "base/sequence_checker.h"
#include "chrome/updater/policy/manager.h"
#include "chrome/updater/policy/service.h"
#include "url/gurl.h"
namespace updater {
class PolicyFetcher : public base::RefCountedThreadSafe<PolicyFetcher> { … };
class FallbackPolicyFetcher : public PolicyFetcher { … };
[[nodiscard]] scoped_refptr<PolicyFetcher> CreateOutOfProcessPolicyFetcher(
bool usage_stats_enabled,
std::optional<bool> override_is_managed_device);
[[nodiscard]] scoped_refptr<PolicyFetcher> CreateInProcessPolicyFetcher(
const GURL& server_url,
std::optional<PolicyServiceProxyConfiguration> proxy_configuration,
std::optional<bool> override_is_managed_device);
}
#endif