diff options
Diffstat (limited to 'lib/csapi/room_state.h')
-rw-r--r-- | lib/csapi/room_state.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/lib/csapi/room_state.h b/lib/csapi/room_state.h index a9e859c2..77ddf3e6 100644 --- a/lib/csapi/room_state.h +++ b/lib/csapi/room_state.h @@ -12,14 +12,48 @@ namespace QMatrixClient { // Operations + /// Send a state event to the given room. + /// + /// State events can be sent using this endpoint. These events will be + /// overwritten if ``<room id>``, ``<event type>`` and ``<state key>`` all + /// match. + /// + /// Requests to this endpoint **cannot use transaction IDs** + /// like other ``PUT`` paths because they cannot be differentiated from the + /// ``state_key``. Furthermore, ``POST`` is unsupported on state paths. + /// + /// The body of the request should be the content object of the event; the + /// fields in this object will vary depending on the type of event. See + /// `Room Events`_ for the ``m.`` event specification. class SetRoomStateWithKeyJob : public BaseJob { public: + /*! Send a state event to the given room. + * \param roomId + * The room to set the state in + * \param eventType + * The type of event to send. + * \param stateKey + * The state_key for the state to send. Defaults to the empty string. + * \param body + * State events can be sent using this endpoint. These events will be + * overwritten if ``<room id>``, ``<event type>`` and ``<state key>`` all + * match. + * + * Requests to this endpoint **cannot use transaction IDs** + * like other ``PUT`` paths because they cannot be differentiated from the + * ``state_key``. Furthermore, ``POST`` is unsupported on state paths. + * + * The body of the request should be the content object of the event; the + * fields in this object will vary depending on the type of event. See + * `Room Events`_ for the ``m.`` event specification. + */ explicit SetRoomStateWithKeyJob(const QString& roomId, const QString& eventType, const QString& stateKey, const QJsonObject& body = {}); ~SetRoomStateWithKeyJob() override; // Result properties + /// A unique identifier for the event. const QString& eventId() const; protected: @@ -30,14 +64,48 @@ namespace QMatrixClient QScopedPointer<Private> d; }; + /// Send a state event to the given room. + /// + /// State events can be sent using this endpoint. This endpoint is + /// equivalent to calling `/rooms/{roomId}/state/{eventType}/{stateKey}` + /// with an empty `stateKey`. Previous state events with matching + /// `<roomId>` and `<eventType>`, and empty `<stateKey>`, will be overwritten. + /// + /// Requests to this endpoint **cannot use transaction IDs** + /// like other ``PUT`` paths because they cannot be differentiated from the + /// ``state_key``. Furthermore, ``POST`` is unsupported on state paths. + /// + /// The body of the request should be the content object of the event; the + /// fields in this object will vary depending on the type of event. See + /// `Room Events`_ for the ``m.`` event specification. class SetRoomStateJob : public BaseJob { public: + /*! Send a state event to the given room. + * \param roomId + * The room to set the state in + * \param eventType + * The type of event to send. + * \param body + * State events can be sent using this endpoint. This endpoint is + * equivalent to calling `/rooms/{roomId}/state/{eventType}/{stateKey}` + * with an empty `stateKey`. Previous state events with matching + * `<roomId>` and `<eventType>`, and empty `<stateKey>`, will be overwritten. + * + * Requests to this endpoint **cannot use transaction IDs** + * like other ``PUT`` paths because they cannot be differentiated from the + * ``state_key``. Furthermore, ``POST`` is unsupported on state paths. + * + * The body of the request should be the content object of the event; the + * fields in this object will vary depending on the type of event. See + * `Room Events`_ for the ``m.`` event specification. + */ explicit SetRoomStateJob(const QString& roomId, const QString& eventType, const QJsonObject& body = {}); ~SetRoomStateJob() override; // Result properties + /// A unique identifier for the event. const QString& eventId() const; protected: |