#ifndef CHROME_BROWSER_ASH_PLUGIN_VM_FAKE_PLUGIN_VM_FEATURES_H_
#define CHROME_BROWSER_ASH_PLUGIN_VM_FAKE_PLUGIN_VM_FEATURES_H_
#include <optional>
#include "base/memory/raw_ptr.h"
#include "chrome/browser/ash/plugin_vm/plugin_vm_features.h"
class Profile;
namespace plugin_vm {
class FakePluginVmFeatures : public PluginVmFeatures {
public:
FakePluginVmFeatures();
~FakePluginVmFeatures() override;
bool IsAllowed(const Profile* profile, std::string* reason) override;
bool IsConfigured(const Profile* profile) override;
bool IsEnabled(const Profile* profile) override;
void set_allowed(bool allowed, const std::string& reason) {
allowed_ = allowed;
disallowed_reason_ = reason;
}
void set_configured(bool configured) { configured_ = configured; }
void set_enabled(bool enabled) { enabled_ = enabled; }
private:
raw_ptr<PluginVmFeatures> original_features_;
std::optional<bool> allowed_;
std::string disallowed_reason_;
std::optional<bool> configured_;
std::optional<bool> enabled_;
};
}
#endif