+class COMMON_EXPORT IrcEventRawMessage : public IrcEvent
+{
+public:
+ explicit IrcEventRawMessage(EventManager::EventType type,
+ Network* network,
+ QHash<IrcTagKey, QString> tags,
+ QByteArray rawMessage,
+ QString prefix,
+ QString target,
+ const QDateTime& timestamp = QDateTime())
+ : IrcEvent(type, network, std::move(tags), std::move(prefix), QStringList() << target)
+ , _rawMessage(std::move(rawMessage))
+ {
+ setTimestamp(timestamp);
+ }
+
+ inline QString target() const { return params().at(0); }
+ inline void setTarget(const QString& target) { setParams(QStringList() << target); }
+
+ inline QByteArray rawMessage() const { return _rawMessage; }
+ inline void setRawMessage(const QByteArray& rawMessage) { _rawMessage = rawMessage; }
+
+protected:
+ explicit IrcEventRawMessage(EventManager::EventType type, QVariantMap& map, Network* network);
+ void toVariantMap(QVariantMap& map) const override;
+
+ inline QString className() const override { return "IrcEventRawMessage"; }
+ inline void debugInfo(QDebug& dbg) const override
+ {
+ NetworkEvent::debugInfo(dbg);
+ dbg << ", target = " << qPrintable(target())
+ << ", prefix = " << qPrintable(prefix())
+ << ", msg = " << rawMessage();
+ }