diff options
Diffstat (limited to 'lib/csapi/banning.h')
-rw-r--r-- | lib/csapi/banning.h | 97 |
1 files changed, 56 insertions, 41 deletions
diff --git a/lib/csapi/banning.h b/lib/csapi/banning.h index 237bd2a0..e4c60ce3 100644 --- a/lib/csapi/banning.h +++ b/lib/csapi/banning.h @@ -6,47 +6,62 @@ #include "jobs/basejob.h" +namespace Quotient { -namespace QMatrixClient -{ - // Operations +/*! \brief Ban a user in the room. + * + * Ban a user in the room. If the user is currently in the room, also kick them. + * + * When a user is banned from a room, they may not join it or be invited to it + * until they are unbanned. + * + * The caller must have the required power level in order to perform this + * operation. + */ +class QUOTIENT_API BanJob : public BaseJob { +public: + /*! \brief Ban a user in the room. + * + * \param roomId + * The room identifier (not alias) from which the user should be banned. + * + * \param userId + * The fully qualified user ID of the user being banned. + * + * \param reason + * The reason the user has been banned. This will be supplied as the + * `reason` on the target's updated + * [`m.room.member`](/client-server-api/#mroommember) event. + */ + explicit BanJob(const QString& roomId, const QString& userId, + const QString& reason = {}); +}; - /// Ban a user in the room. - /// - /// Ban a user in the room. If the user is currently in the room, also kick them. - /// - /// When a user is banned from a room, they may not join it or be invited to it until they are unbanned. - /// - /// The caller must have the required power level in order to perform this operation. - class BanJob : public BaseJob - { - public: - /*! Ban a user in the room. - * \param roomId - * The room identifier (not alias) from which the user should be banned. - * \param userId - * The fully qualified user ID of the user being banned. - * \param reason - * The reason the user has been banned. This will be supplied as the ``reason`` on the target's updated `m.room.member`_ event. - */ - explicit BanJob(const QString& roomId, const QString& userId, const QString& reason = {}); - }; +/*! \brief Unban a user from the room. + * + * Unban a user from the room. This allows them to be invited to the room, + * and join if they would otherwise be allowed to join according to its join + * rules. + * + * The caller must have the required power level in order to perform this + * operation. + */ +class QUOTIENT_API UnbanJob : public BaseJob { +public: + /*! \brief Unban a user from the room. + * + * \param roomId + * The room identifier (not alias) from which the user should be unbanned. + * + * \param userId + * The fully qualified user ID of the user being unbanned. + * + * \param reason + * Optional reason to be included as the `reason` on the subsequent + * membership event. + */ + explicit UnbanJob(const QString& roomId, const QString& userId, + const QString& reason = {}); +}; - /// Unban a user from the room. - /// - /// Unban a user from the room. This allows them to be invited to the room, - /// and join if they would otherwise be allowed to join according to its join rules. - /// - /// The caller must have the required power level in order to perform this operation. - class UnbanJob : public BaseJob - { - public: - /*! Unban a user from the room. - * \param roomId - * The room identifier (not alias) from which the user should be unbanned. - * \param userId - * The fully qualified user ID of the user being unbanned. - */ - explicit UnbanJob(const QString& roomId, const QString& userId); - }; -} // namespace QMatrixClient +} // namespace Quotient |