libQuotient
A Qt library for building matrix clients
Quotient::StateEvent Class Reference

#include <stateevent.h>

Inheritance diagram for Quotient::StateEvent:
Collaboration diagram for Quotient::StateEvent:

Public Member Functions

 StateEvent (event_type_t type, const QString &stateKey={}, const QJsonObject &contentJson={})
 
QString replacedState () const
 
virtual bool repeatsState () const
 
- Public Member Functions inherited from Quotient::RoomEvent
 ~RoomEvent () override
 
QString displayId () const
 A convenience function to get a display string for an event ID. More...
 
QString id () const
 The event_id JSON value for the event. More...
 
QDateTime originTimestamp () const
 
QString roomId () const
 
QString senderId () const
 
bool isRedacted () const
 
const event_ptr_tt< RedactionEvent > & redactedBecause () const
 
QString redactionReason () const
 
QString transactionId () const
 The transaction_id JSON value for the event. More...
 
bool isStateEvent () const
 
QString stateKey () const
 
void setRoomId (const QString &roomId)
 Fill the pending event object with the room id. More...
 
void setSender (const QString &senderId)
 Fill the pending event object with the sender id. More...
 
void setTransactionId (const QString &txnId)
 Fill the pending event object with the transaction id. More...
 
void addId (const QString &newId)
 Add an event id to locally created events after they are sent. More...
 
void setOriginalEvent (event_ptr_tt< EncryptedEvent > &&originalEvent)
 
const EncryptedEventoriginalEvent () const
 
const QJsonObject encryptedJson () const
 
- Public Member Functions inherited from Quotient::Event
virtual const AbstractEventMetaTypemetaType () const
 
 Event (Event &&) noexcept=default
 
Eventoperator= (Event &&)=delete
 
virtual ~Event ()
 
QString matrixType () const
 Exact Matrix type stored in JSON. More...
 
template<EventClass EventT>
bool is () const
 
template<typename... VisitorTs>
auto switchOnType (VisitorTs &&... visitors) const
 Apply one of the visitors based on the actual event type. More...
 
const QJsonObject & fullJson () const
 
const QJsonObject contentJson () const
 
template<typename T , typename KeyT >
const T contentPart (KeyT &&key) const
 Get a part of the content object, assuming a given type. More...
 
const QJsonObject unsignedJson () const
 
template<typename T , typename KeyT >
const T unsignedPart (KeyT &&key) const
 Get a part of the unsigned object, assuming a given type. More...
 
bool isStateEvent () const
 

Static Public Member Functions

static bool isValid (const QJsonObject &fullJson)
 
static QJsonObject basicJson (const QString &matrixTypeId, const QString &stateKey={}, const QJsonObject &contentJson={})
 Make a minimal correct Matrix state event JSON. More...
 
- Static Public Member Functions inherited from Quotient::Event
static QJsonObject basicJson (const QString &matrixType, const QJsonObject &content)
 Make a minimal correct Matrix event JSON. More...
 

Static Public Attributes

static constexpr auto needsStateKey = false
 Static setting of whether a given even type uses state keys. More...
 
- Static Public Attributes inherited from Quotient::Event
static EventMetaType< EventBaseMetaType { "Event" }
 

Protected Member Functions

 StateEvent (const QJsonObject &json)
 
void dumpTo (QDebug dbg) const override
 
- Protected Member Functions inherited from Quotient::RoomEvent
 RoomEvent (const QJsonObject &json)
 
- Protected Member Functions inherited from Quotient::Event
 Event (const QJsonObject &json)
 
QJsonObject & editJson ()
 

Detailed Description

Definition at line 12 of file stateevent.h.

Constructor & Destructor Documentation

◆ StateEvent() [1/2]

Quotient::StateEvent::StateEvent ( event_type_t  type,
const QString &  stateKey = {},
const QJsonObject &  contentJson = {} 
)
explicit

◆ StateEvent() [2/2]

Quotient::StateEvent::StateEvent ( const QJsonObject &  json)
explicitprotected

Member Function Documentation

◆ basicJson()

static QJsonObject Quotient::StateEvent::basicJson ( const QString &  matrixTypeId,
const QString &  stateKey = {},
const QJsonObject &  contentJson = {} 
)
inlinestatic

Make a minimal correct Matrix state event JSON.

Definition at line 33 of file stateevent.h.

◆ dumpTo()

void Quotient::StateEvent::dumpTo ( QDebug  dbg) const
overrideprotectedvirtual

Reimplemented from Quotient::RoomEvent.

◆ isValid()

static bool Quotient::StateEvent::isValid ( const QJsonObject &  fullJson)
inlinestatic

Definition at line 16 of file stateevent.h.

◆ repeatsState()

virtual bool Quotient::StateEvent::repeatsState ( ) const
virtual

◆ replacedState()

QString Quotient::StateEvent::replacedState ( ) const

Member Data Documentation

◆ needsStateKey

constexpr auto Quotient::StateEvent::needsStateKey = false
staticconstexpr

Static setting of whether a given even type uses state keys.

Most event types don't use a state key; overriding this to true for a given type changes the calls across Quotient to include state key in their signatures; otherwise, state key is still accessible but constructors and calls in, e.g., RoomStateView don't include it.

Definition at line 27 of file stateevent.h.


The documentation for this class was generated from the following file: