#ifndef SERVICES_NETWORK_TPCD_METADATA_MANAGER_H_
#define SERVICES_NETWORK_TPCD_METADATA_MANAGER_H_
#include "base/sequence_checker.h"
#include "base/thread_annotations.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/host_indexed_content_settings.h"
#include "components/tpcd/metadata/common/manager_base.h"
namespace network::tpcd::metadata {
class Manager : public ::tpcd::metadata::common::ManagerBase {
public:
Manager();
~Manager();
Manager(const Manager&) = delete;
Manager& operator=(const Manager&) = delete;
void SetGrants(const ContentSettingsForOneType& grants);
[[nodiscard]] ContentSettingsForOneType GetGrants() const;
[[nodiscard]] ContentSetting GetContentSetting(
const GURL& third_party_url,
const GURL& first_party_url,
content_settings::SettingInfo* out_info) const;
private:
content_settings::HostIndexedContentSettings grants_;
};
}
#endif