#pragma once #include "providers/seventv/SeventvEventAPI.hpp" #include #include #include #include #include namespace chatterino { struct SeventvEventAPIMessage { QJsonObject data; SeventvEventAPIOpcode op; SeventvEventAPIMessage(QJsonObject _json); template boost::optional toInner(); }; template boost::optional SeventvEventAPIMessage::toInner() { return InnerClass{this->data}; } static boost::optional parseSeventvEventAPIBaseMessage( const QString &blob) { QJsonDocument jsonDoc(QJsonDocument::fromJson(blob.toUtf8())); if (jsonDoc.isNull()) { return boost::none; } return SeventvEventAPIMessage(jsonDoc.object()); } } // namespace chatterino