#ifndef CHROME_BROWSER_ASH_INPUT_METHOD_ASSISTIVE_SUGGESTER_SWITCH_H_
#define CHROME_BROWSER_ASH_INPUT_METHOD_ASSISTIVE_SUGGESTER_SWITCH_H_
#include "base/functional/callback.h"
#include "ui/base/ime/ash/text_input_method.h"
namespace ash {
namespace input_method {
class AssistiveSuggesterSwitch {
public:
struct EnabledSuggestions {
bool emoji_suggestions = false;
bool multi_word_suggestions = false;
bool diacritic_suggestions = false;
bool operator==(const EnabledSuggestions& rhs) const {
return emoji_suggestions == rhs.emoji_suggestions &&
multi_word_suggestions == rhs.multi_word_suggestions &&
diacritic_suggestions == rhs.diacritic_suggestions;
}
};
AssistiveSuggesterSwitch() = default;
virtual ~AssistiveSuggesterSwitch() = default;
using FetchEnabledSuggestionsCallback =
base::OnceCallback<void(const EnabledSuggestions&)>;
virtual void FetchEnabledSuggestionsThen(
FetchEnabledSuggestionsCallback callback,
const TextInputMethod::InputContext& context) = 0;
};
}
}
#endif