diff --git a/src/matrix-http-api.c b/src/matrix-http-api.c index 15171ad..b1ed2c4 100644 --- a/src/matrix-http-api.c +++ b/src/matrix-http-api.c @@ -950,6 +950,18 @@ i_leave_room(MatrixAPI *api, g_free(path); } +static void +i_list_public_rooms(MatrixAPI *api, + MatrixAPICallback callback, + gpointer user_data, + GError **error) +{ + _send(MATRIX_HTTP_API(api), + callback, user_data, + "GET", "publicRooms", NULL, NULL, + error); +} + static void matrix_http_api_matrix_api_init(MatrixAPIInterface *iface) { @@ -964,4 +976,5 @@ matrix_http_api_matrix_api_init(MatrixAPIInterface *iface) iface->initial_sync = i_initial_sync; iface->event_stream = i_event_stream; iface->leave_room = i_leave_room; + iface->list_public_rooms = i_list_public_rooms; } diff --git a/src/test-client.c b/src/test-client.c index a69666a..cdc6d3e 100644 --- a/src/test-client.c +++ b/src/test-client.c @@ -93,6 +93,8 @@ login_finished(MatrixAPI *api, JsonNode *content, gpointer data, GError *err) g_printf("Logged in as %s\n", user_id); + matrix_api_list_public_rooms(api, NULL, NULL, NULL); + matrix_api_create_room(api, create_room_finished, NULL, MATRIX_API_ROOM_PRESET_PUBLIC,