add API function to test whether av is enabled

This commit is contained in:
zugz (tox) 2019-02-10 00:00:00 +00:00
parent 49e2406ffa
commit 959f468eac
No known key found for this signature in database
GPG Key ID: 6F2BDA289D04F249
5 changed files with 30 additions and 0 deletions

View File

@ -352,8 +352,12 @@ static void run_conference_tests(Tox **toxes, State *state)
for (uint32_t i = 0; i < NUM_AV_GROUP_TOX; ++i) {
if (restarting[i]) {
ck_assert_msg(!toxav_groupchat_av_enabled(toxes[i], 0),
"#%u restarted but av enabled", state[i].index);
ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0,
"#%u failed to re-enable av", state[i].index);
ck_assert_msg(toxav_groupchat_av_enabled(toxes[i], 0),
"#%u av not enabled even after enabling", state[i].index);
}
}
@ -393,6 +397,8 @@ static void run_conference_tests(Tox **toxes, State *state)
disabled[i] = false;
ck_assert_msg(toxav_groupchat_disable_av(toxes[i], 0) != 0,
"#%u could disable already disabled av!", state[i].index);
ck_assert_msg(!toxav_groupchat_av_enabled(toxes[i], 0),
"#%u av enabled after disabling", state[i].index);
ck_assert_msg(toxav_groupchat_enable_av(toxes[i], 0, audio_callback, &state[i]) == 0,
"#%u failed to re-enable av", state[i].index);
}

View File

@ -506,6 +506,13 @@ int groupchat_disable_av(Group_Chats *g_c, uint32_t groupnumber)
return 0;
}
/* Return whether A/V is enabled in the groupchat.
*/
bool groupchat_av_enabled(Group_Chats *g_c, uint32_t groupnumber)
{
return group_get_object(g_c, groupnumber) != nullptr;
}
/* Create a new toxav group.
*
* return group number on success.

View File

@ -74,4 +74,8 @@ int groupchat_enable_av(const Logger *log, Tox *tox, Group_Chats *g_c, uint32_t
*/
int groupchat_disable_av(Group_Chats *g_c, uint32_t groupnumber);
/* Return whether A/V is enabled in the groupchat.
*/
bool groupchat_av_enabled(Group_Chats *g_c, uint32_t groupnumber);
#endif // C_TOXCORE_TOXAV_GROUPAV_H

View File

@ -803,6 +803,10 @@ int toxav_groupchat_enable_av(Tox *tox, uint32_t groupnumber,
*/
int toxav_groupchat_disable_av(Tox *tox, uint32_t groupnumber);
/* Return whether A/V is enabled in the groupchat.
*/
bool toxav_groupchat_av_enabled(Tox *tox, uint32_t groupnumber);
#ifdef __cplusplus
}
#endif

View File

@ -109,3 +109,12 @@ int toxav_groupchat_disable_av(Tox *tox, uint32_t groupnumber)
Messenger *m = *(Messenger **)tox;
return groupchat_disable_av(m->conferences_object, groupnumber);
}
/* Return whether A/V is enabled in the groupchat.
*/
bool toxav_groupchat_av_enabled(Tox *tox, uint32_t groupnumber)
{
// TODO(iphydf): Don't rely on toxcore internals.
Messenger *m = *(Messenger **)tox;
return groupchat_av_enabled(m->conferences_object, groupnumber);
}