#ifndef CHROME_BROWSER_DEVICE_API_MANAGED_CONFIGURATION_STORE_H_
#define CHROME_BROWSER_DEVICE_API_MANAGED_CONFIGURATION_STORE_H_
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/files/file_path.h"
#include "base/values.h"
#include "components/value_store/value_store.h"
#include "url/origin.h"
class ManagedConfigurationStore {
public:
ManagedConfigurationStore(const url::Origin& origin,
const base::FilePath& path);
~ManagedConfigurationStore();
ManagedConfigurationStore(const ManagedConfigurationStore&) = delete;
ManagedConfigurationStore& operator=(const ManagedConfigurationStore&) =
delete;
bool SetCurrentPolicy(const base::Value::Dict& current_configuration);
std::optional<base::Value::Dict> Get(const std::vector<std::string>& keys);
private:
void Initialize();
const url::Origin origin_;
const base::FilePath path_;
std::unique_ptr<value_store::ValueStore> store_;
};
#endif