libQuotient
A Qt library for building matrix clients
third_party_membership.h
Go to the documentation of this file.
1
// THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
2
3
#
pragma
once
4
5
#
include
<
Quotient
/
jobs
/
basejob
.
h
>
6
7
namespace
Quotient {
8
9
//! \brief Invite a user to participate in a particular room.
10
//!
11
//! *Note that there are two forms of this API, which are documented separately.
12
//! This version of the API does not require that the inviter know the Matrix
13
//! identifier of the invitee, and instead relies on third-party identifiers.
14
//! The homeserver uses an identity server to perform the mapping from
15
//! third-party identifier to a Matrix identifier. The other is documented in the*
16
//! [joining rooms section](/client-server-api/#post_matrixclientv3roomsroomidinvite).
17
//!
18
//! This API invites a user to participate in a particular room.
19
//! They do not start participating in the room until they actually join the
20
//! room.
21
//!
22
//! Only users currently in a particular room can invite other users to
23
//! join that room.
24
//!
25
//! If the identity server did know the Matrix user identifier for the
26
//! third-party identifier, the homeserver will append a `m.room.member`
27
//! event to the room.
28
//!
29
//! If the identity server does not know a Matrix user identifier for the
30
//! passed third-party identifier, the homeserver will issue an invitation
31
//! which can be accepted upon providing proof of ownership of the third-
32
//! party identifier. This is achieved by the identity server generating a
33
//! token, which it gives to the inviting homeserver. The homeserver will
34
//! add an `m.room.third_party_invite` event into the graph for the room,
35
//! containing that token.
36
//!
37
//! When the invitee binds the invited third-party identifier to a Matrix
38
//! user ID, the identity server will give the user a list of pending
39
//! invitations, each containing:
40
//!
41
//! - The room ID to which they were invited
42
//!
43
//! - The token given to the homeserver
44
//!
45
//! - A signature of the token, signed with the identity server's private key
46
//!
47
//! - The matrix user ID who invited them to the room
48
//!
49
//! If a token is requested from the identity server, the homeserver will
50
//! append a `m.room.third_party_invite` event to the room.
51
class
QUOTIENT_API
InviteBy3PIDJob :
public
BaseJob {
52
public
:
53
//! \param roomId
54
//! The room identifier (not alias) to which to invite the user.
55
//!
56
//! \param idServer
57
//! The hostname+port of the identity server which should be used for third-party identifier
58
//! lookups.
59
//!
60
//! \param idAccessToken
61
//! An access token previously registered with the identity server. Servers
62
//! can treat this as optional to distinguish between r0.5-compatible clients
63
//! and this specification version.
64
//!
65
//! \param medium
66
//! The kind of address being passed in the address field, for example
67
//! `email` (see [the list of recognised values](/appendices/#3pid-types)).
68
//!
69
//! \param address
70
//! The invitee's third-party identifier.
71
explicit
InviteBy3PIDJob(
const
QString& roomId,
const
QString& idServer,
72
const
QString& idAccessToken,
const
QString& medium,
73
const
QString& address);
74
};
75
76
}
// namespace Quotient
Quotient
csapi
third_party_membership.h
Generated by
1.9.1