32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
-
+
-
+
-
-
-
-
-
-
-
|
* @param client If the login succeeded, the newly created client
* @param exception If the login failed, an exception
*/
typedef void (^mtx_client_login_block_t)(MTXClient *_Nullable client,
id _Nullable exception);
/**
* @brief A block called when the device was logged out.
* @brief A block called when the response for an operation was received.
*
* @param exception `nil` on success, otherwise an exception
*/
typedef void (^mtx_client_logout_block_t)(id _Nullable exception);
typedef void (^mtx_client_response_block_t)(id _Nullable exception);
/**
* @brief A block called when the room list was fetched.
*
* @param rooms An array of joined rooms, or nil on error
* @param exception An exception if fetching the room list failed
*/
typedef void (^mtx_client_room_list_block_t)(
OFArray<OFString *> *_Nullable rooms, id _Nullable exception);
/**
* @brief A block called when a room was joined.
*
* @param roomID The room ID that was joined, or nil on error. This can be used
* to get the room ID if a room alias was joined.
* @param exception An exception if joining the room failed
*/
typedef void (^mtx_client_room_join_block_t)(OFString *_Nullable roomID,
id _Nullable exception);
/**
* @brief A block called when a room was left.
*
* @param exception An exception if leaving the room failed
*/
typedef void (^mtx_client_room_leave_block_t)(id _Nullable exception);
/**
* @brief A class that represents a client.
*/
@interface MTXClient: OFObject
/**
* @brief The user ID used by the client.
*/
|
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
-
+
|
/**
* @brief Logs out the device and invalidates the access token.
*
* @warning The client can no longer be used after this succeeded!
*
* @param block A block to call when logging out succeeded or failed
*/
- (void)logOutWithBlock: (mtx_client_logout_block_t)block;
- (void)logOutWithBlock: (mtx_client_response_block_t)block;
/**
* @brief Fetches the list of joined rooms.
*
* @param block A block to call with the list of joined room
*/
- (void)fetchRoomListWithBlock: (mtx_client_room_list_block_t)block;
|
154
155
156
157
158
159
160
161
162
163
164
|
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
-
+
+
+
+
+
+
+
+
+
+
+
+
|
/**
* @brief Leaves the specified room.
*
* @param roomID The room ID to leave
* @param block A block to call when the room was left
*/
- (void)leaveRoom: (OFString *)roomID
block: (mtx_client_room_leave_block_t)block;
block: (mtx_client_response_block_t)block;
/**
* @brief Sends the specified message to the specified room ID.
*
* @param message The message to send
* @param roomID The room ID to which to send the message
* @param block A block to call when the message was sent
*/
- (void)sendMessage: (OFString *)message
roomID: (OFString *)roomID
block: (mtx_client_response_block_t)block;
@end
OF_ASSUME_NONNULL_END
|