chromium/chrome/browser/hid/hid_policy_allowed_devices.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_HID_HID_POLICY_ALLOWED_DEVICES_H_
#define CHROME_BROWSER_HID_HID_POLICY_ALLOWED_DEVICES_H_

#include <map>
#include <set>
#include <string>

#include "components/keyed_service/core/keyed_service.h"
#include "components/prefs/pref_change_registrar.h"
#include "url/origin.h"

namespace device::mojom {
class HidDeviceInfo;
}  // namespace device::mojom

class PrefRegistrySimple;
class PrefService;

// This class is used to maintain and interpret the
// WebHidAllowAllDevicesForUrls, WebHidAllowDevicesForUrls,
// DeviceLoginScreenWebHidAllowDevicesForUrls, and
// WebHidAllowDevicesWithHidUsagesForUrls policies.
//
// A PrefChangeRegistrar is used to observe changes to the preference values so
// that the policy can be updated in real-time.
class HidPolicyAllowedDevices : public KeyedService {};

#endif  // CHROME_BROWSER_HID_HID_POLICY_ALLOWED_DEVICES_H_