libQuotient
A Qt library for building matrix clients
leaving.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 Stop the requesting user participating in a particular room.
10 //!
11 //! This API stops a user participating in a particular room.
12 //!
13 //! If the user was already in the room, they will no longer be able to see
14 //! new events in the room. If the room requires an invite to join, they
15 //! will need to be re-invited before they can re-join.
16 //!
17 //! If the user was invited to the room, but had not joined, this call
18 //! serves to reject the invite.
19 //!
20 //! The user will still be allowed to retrieve history from the room which
21 //! they were previously allowed to see.
22 class QUOTIENT_API LeaveRoomJob : public BaseJob {
23 public:
24  //! \param roomId
25  //! The room identifier to leave.
26  //!
27  //! \param reason
28  //! Optional reason to be included as the `reason` on the subsequent
29  //! membership event.
30  explicit LeaveRoomJob(const QString& roomId, const QString& reason = {});
31 };
32 
33 //! \brief Stop the requesting user remembering about a particular room.
34 //!
35 //! This API stops a user remembering about a particular room.
36 //!
37 //! In general, history is a first class citizen in Matrix. After this API
38 //! is called, however, a user will no longer be able to retrieve history
39 //! for this room. If all users on a homeserver forget a room, the room is
40 //! eligible for deletion from that homeserver.
41 //!
42 //! If the user is currently joined to the room, they must leave the room
43 //! before calling this API.
44 class QUOTIENT_API ForgetRoomJob : public BaseJob {
45 public:
46  //! \param roomId
47  //! The room identifier to forget.
48  explicit ForgetRoomJob(const QString& roomId);
49 
50  //! \brief Construct a URL without creating a full-fledged job object
51  //!
52  //! This function can be used when a URL for ForgetRoomJob
53  //! is necessary but the job itself isn't.
54  static QUrl makeRequestUrl(const HomeserverData& hsData, const QString& roomId);
55 };
56 
57 } // namespace Quotient