/** * Accept a group chat invite. Remove and free the invite. Returns group chat * number. -1 on failure. */ int twc_group_chat_invite_join(struct t_twc_group_chat_invite *invite) { int rc; TOX_ERR_CONFERENCE_JOIN err = TOX_ERR_CONFERENCE_JOIN_OK; switch (invite->group_chat_type) { case TOX_CONFERENCE_TYPE_TEXT: rc = tox_conference_join(invite->profile->tox, invite->friend_number, invite->data, invite->data_size, &err); break; #ifdef TOXAV_ENABLED case TOX_CONFERENCE_TYPE_AV: rc = toxav_join_av_groupchat(invite->profile->tox, invite->friend_number, invite->data, invite->data_size, NULL, NULL); break; #endif default: rc = -1; break; } twc_group_chat_invite_remove(invite); if (err != TOX_ERR_CONFERENCE_JOIN_OK) return -1; return rc; }
/** * Accept a group chat invite. Remove and free the invite. Returns group chat * number. -1 on failure. */ int twc_group_chat_invite_join(struct t_twc_group_chat_invite *invite) { int rc = tox_join_groupchat(invite->profile->tox, invite->friend_number, invite->data, invite->data_size); twc_group_chat_invite_remove(invite); return rc; }