8 #include <QtCore/QDateTime>
20 ~RoomEvent() override;
23 QDateTime originTimestamp()
const;
24 QString roomId()
const;
25 QString senderId()
const;
26 bool isRedacted()
const {
return bool(_redactedBecause); }
27 const event_ptr_tt<RedactionEvent>& redactedBecause()
const
29 return _redactedBecause;
31 QString redactionReason()
const;
32 QString transactionId()
const;
33 QString stateKey()
const;
36 void setRoomId(
const QString& roomId);
38 void setSender(
const QString& senderId);
42 void setTransactionId(
const QString& txnId);
52 void addId(
const QString& newId);
54 void setOriginalEvent(event_ptr_tt<EncryptedEvent>&& originalEvent);
55 const EncryptedEvent* originalEvent()
const {
return _originalEvent.get(); }
56 const QJsonObject encryptedJson()
const;
59 explicit RoomEvent(
const QJsonObject& json);
60 void dumpTo(QDebug dbg)
const override;
65 event_ptr_tt<RedactionEvent> _redactedBecause;
67 event_ptr_tt<EncryptedEvent> _originalEvent;
69 using RoomEventPtr = event_ptr_tt<RoomEvent>;
70 using RoomEvents = EventsArray<RoomEvent>;
71 using RoomEventsRange = std::ranges::subrange<RoomEvents::iterator>;
74 Q_DECLARE_METATYPE(Quotient::RoomEvent*)
75 Q_DECLARE_METATYPE(
const Quotient::RoomEvent*)