aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/kicking.h
blob: 2645a54f6833730a5da8ce3a0b53f449503a713c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/******************************************************************************
 * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
 */

#pragma once

#include "jobs/basejob.h"

namespace Quotient {

/*! \brief Kick a user from the room.
 *
 * Kick a user from the room.
 *
 * The caller must have the required power level in order to perform this
 * operation.
 *
 * Kicking a user adjusts the target member's membership state to be ``leave``
 * with an optional ``reason``. Like with other membership changes, a user can
 * directly adjust the target member's state by making a request to
 * ``/rooms/<room id>/state/m.room.member/<user id>``.
 */
class KickJob : public BaseJob {
public:
    /*! \brief Kick a user from the room.
     *
     * \param roomId
     *   The room identifier (not alias) from which the user should be kicked.
     *
     * \param userId
     *   The fully qualified user ID of the user being kicked.
     *
     * \param reason
     *   The reason the user has been kicked. This will be supplied as the
     *   ``reason`` on the target's updated `m.room.member`_ event.
     */
    explicit KickJob(const QString& roomId, const QString& userId,
                     const QString& reason = {});
};

} // namespace Quotient