#pragma once #include #include #include #include "controllers/commands/command.hpp" #include "util/signalvector2.hpp" namespace chatterino { class Channel; namespace controllers { namespace commands { class CommandModel; class CommandController { public: CommandController(); QString execCommand(const QString &text, std::shared_ptr channel, bool dryRun); void load(); void save(); CommandModel *createModel(QObject *parent); util::UnsortedSignalVector items; private: QMap commandsMap; std::mutex mutex; QString filePath; QString execCustomCommand(const QStringList &words, const Command &command); }; } // namespace commands } // namespace controllers } // namespace chatterino