aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/third_party_membership.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/third_party_membership.h')
-rw-r--r--lib/csapi/third_party_membership.h65
1 files changed, 32 insertions, 33 deletions
diff --git a/lib/csapi/third_party_membership.h b/lib/csapi/third_party_membership.h
index d18fe554..d1261567 100644
--- a/lib/csapi/third_party_membership.h
+++ b/lib/csapi/third_party_membership.h
@@ -6,33 +6,31 @@
#include "jobs/basejob.h"
-
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// Operations
/// Invite a user to participate in a particular room.
///
/// .. _invite-by-third-party-id-endpoint:
- ///
- /// *Note that there are two forms of this API, which are documented separately.
- /// This version of the API does not require that the inviter know the Matrix
- /// identifier of the invitee, and instead relies on third party identifiers.
- /// The homeserver uses an identity server to perform the mapping from
- /// third party identifier to a Matrix identifier. The other is documented in the*
- /// `joining rooms section`_.
- ///
+ ///
+ /// *Note that there are two forms of this API, which are documented
+ /// separately. This version of the API does not require that the inviter
+ /// know the Matrix identifier of the invitee, and instead relies on third
+ /// party identifiers. The homeserver uses an identity server to perform the
+ /// mapping from third party identifier to a Matrix identifier. The other is
+ /// documented in the* `joining rooms section`_.
+ ///
/// This API invites a user to participate in a particular room.
/// They do not start participating in the room until they actually join the
/// room.
- ///
+ ///
/// Only users currently in a particular room can invite other users to
/// join that room.
- ///
+ ///
/// If the identity server did know the Matrix user identifier for the
/// third party identifier, the homeserver will append a ``m.room.member``
/// event to the room.
- ///
+ ///
/// If the identity server does not know a Matrix user identifier for the
/// passed third party identifier, the homeserver will issue an invitation
/// which can be accepted upon providing proof of ownership of the third
@@ -40,36 +38,37 @@ namespace QMatrixClient
/// token, which it gives to the inviting homeserver. The homeserver will
/// add an ``m.room.third_party_invite`` event into the graph for the room,
/// containing that token.
- ///
+ ///
/// When the invitee binds the invited third party identifier to a Matrix
/// user ID, the identity server will give the user a list of pending
/// invitations, each containing:
- ///
+ ///
/// - The room ID to which they were invited
- ///
+ ///
/// - The token given to the homeserver
- ///
- /// - A signature of the token, signed with the identity server's private key
- ///
+ ///
+ /// - A signature of the token, signed with the identity server's private
+ /// key
+ ///
/// - The matrix user ID who invited them to the room
- ///
+ ///
/// If a token is requested from the identity server, the homeserver will
/// append a ``m.room.third_party_invite`` event to the room.
- ///
+ ///
/// .. _joining rooms section: `invite-by-user-id-endpoint`_
class InviteBy3PIDJob : public BaseJob
{
public:
- /*! Invite a user to participate in a particular room.
- * \param roomId
- * The room identifier (not alias) to which to invite the user.
- * \param idServer
- * The hostname+port of the identity server which should be used for third party identifier lookups.
- * \param medium
- * The kind of address being passed in the address field, for example ``email``.
- * \param address
- * The invitee's third party identifier.
- */
- explicit InviteBy3PIDJob(const QString& roomId, const QString& idServer, const QString& medium, const QString& address);
+ /*! Invite a user to participate in a particular room.
+ * \param roomId
+ * The room identifier (not alias) to which to invite the user.
+ * \param idServer
+ * The hostname+port of the identity server which should be used for
+ * third party identifier lookups. \param medium The kind of address
+ * being passed in the address field, for example ``email``. \param
+ * address The invitee's third party identifier.
+ */
+ explicit InviteBy3PIDJob(const QString& roomId, const QString& idServer,
+ const QString& medium, const QString& address);
};
} // namespace QMatrixClient