diff options
author | zugz (tox) <mbays+tox@sdf.org> | 2018-08-02 19:23:34 +0100 |
---|---|---|
committer | zugz (tox) <mbays+tox@sdf.org> | 2018-08-12 22:46:06 +0200 |
commit | d56ab5aaff5fab7ac707a5c914d3701f43eb2ba3 (patch) | |
tree | 161278ec297d281d1c39f1f337fe67eb52865c4c /auto_tests/conference_simple_test.c | |
parent | 4ed6e5999226f9061f546108c5be72fe6f21a775 (diff) |
add callback for successful connection to a conference
Diffstat (limited to 'auto_tests/conference_simple_test.c')
-rw-r--r-- | auto_tests/conference_simple_test.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/auto_tests/conference_simple_test.c b/auto_tests/conference_simple_test.c index 5a286b4a..010ae029 100644 --- a/auto_tests/conference_simple_test.c +++ b/auto_tests/conference_simple_test.c | |||
@@ -87,22 +87,17 @@ static void handle_conference_peer_list_changed(Tox *tox, uint32_t conference_nu | |||
87 | 87 | ||
88 | fprintf(stderr, "tox%d has %d peers online\n", state->id, count); | 88 | fprintf(stderr, "tox%d has %d peers online\n", state->id, count); |
89 | state->peers = count; | 89 | state->peers = count; |
90 | } | ||
91 | |||
92 | static void handle_conference_connected(Tox *tox, uint32_t conference_number, void *user_data) | ||
93 | { | ||
94 | State *state = (State *)user_data; | ||
90 | 95 | ||
91 | // We're tox2, so now we invite tox3. | 96 | // We're tox2, so now we invite tox3. |
92 | if (state->id == 2 && !state->invited_next) { | 97 | if (state->id == 2 && !state->invited_next) { |
93 | // TODO(zugz): neater way to determine whether we are connected, and when | 98 | TOX_ERR_CONFERENCE_INVITE err; |
94 | // we become so | 99 | tox_conference_invite(tox, 1, state->conference, &err); |
95 | TOX_ERR_CONFERENCE_PEER_QUERY peer_err; | 100 | ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "tox2 failed to invite tox3: err = %d", err); |
96 | tox_conference_peer_number_is_ours(tox, 0, 0, &peer_err); | ||
97 | |||
98 | if (peer_err != TOX_ERR_CONFERENCE_PEER_QUERY_OK) { | ||
99 | return; | ||
100 | } | ||
101 | |||
102 | TOX_ERR_CONFERENCE_INVITE err_invite; | ||
103 | tox_conference_invite(tox, 1, state->conference, &err_invite); | ||
104 | ck_assert_msg(err_invite == TOX_ERR_CONFERENCE_INVITE_OK, | ||
105 | "tox2 failed to invite tox3: err = %d", err_invite); | ||
106 | 101 | ||
107 | state->invited_next = true; | 102 | state->invited_next = true; |
108 | fprintf(stderr, "tox2 invited tox3\n"); | 103 | fprintf(stderr, "tox2 invited tox3\n"); |
@@ -155,6 +150,10 @@ int main(void) | |||
155 | tox_callback_conference_invite(tox2, handle_conference_invite); | 150 | tox_callback_conference_invite(tox2, handle_conference_invite); |
156 | tox_callback_conference_invite(tox3, handle_conference_invite); | 151 | tox_callback_conference_invite(tox3, handle_conference_invite); |
157 | 152 | ||
153 | tox_callback_conference_connected(tox1, handle_conference_connected); | ||
154 | tox_callback_conference_connected(tox2, handle_conference_connected); | ||
155 | tox_callback_conference_connected(tox3, handle_conference_connected); | ||
156 | |||
158 | tox_callback_conference_message(tox1, handle_conference_message); | 157 | tox_callback_conference_message(tox1, handle_conference_message); |
159 | tox_callback_conference_message(tox2, handle_conference_message); | 158 | tox_callback_conference_message(tox2, handle_conference_message); |
160 | tox_callback_conference_message(tox3, handle_conference_message); | 159 | tox_callback_conference_message(tox3, handle_conference_message); |