#pragma once #include class QString; class QJsonObject; namespace chatterino { class NetworkResult; class SeventvAPI final { using ErrorCallback = std::function; template using SuccessCallback = std::function; public: SeventvAPI() = default; ~SeventvAPI() = default; SeventvAPI(const SeventvAPI &) = delete; SeventvAPI(SeventvAPI &&) = delete; SeventvAPI &operator=(const SeventvAPI &) = delete; SeventvAPI &operator=(SeventvAPI &&) = delete; virtual void getUserByTwitchID( const QString &twitchID, SuccessCallback &&onSuccess, ErrorCallback &&onError); virtual void getEmoteSet(const QString &emoteSet, SuccessCallback &&onSuccess, ErrorCallback &&onError); virtual void updatePresence(const QString &twitchChannelID, const QString &seventvUserID, SuccessCallback<> &&onSuccess, ErrorCallback &&onError); }; } // namespace chatterino