1/******************************************************************************
2 * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
3 */
4
5#pragma once
6
7#include <Quotient/jobs/basejob.h>
8
9namespace Quotient {
10
11/*! \brief Kick a user from the room.
12 *
13 * Kick a user from the room.
14 *
15 * The caller must have the required power level in order to perform this
16 * operation.
17 *
18 * Kicking a user adjusts the target member's membership state to be `leave`
19 * with an optional `reason`. Like with other membership changes, a user can
20 * directly adjust the target member's state by making a request to
21 * `/rooms/<room id>/state/m.room.member/<user id>`.
22 */
23class QUOTIENT_API KickJob : public BaseJob {
24public:
25 /*! \brief Kick a user from the room.
26 *
27 * \param roomId
28 * The room identifier (not alias) from which the user should be kicked.
29 *
30 * \param userId
31 * The fully qualified user ID of the user being kicked.
32 *
33 * \param reason
34 * The reason the user has been kicked. This will be supplied as the
35 * `reason` on the target's updated
36 * [`m.room.member`](/client-server-api/#mroommember) event.
37 */
38 explicit KickJob(const QString& roomId, const QString& userId,
39 const QString& reason = {});
40};
41
42} // namespace Quotient
43