/* Free everything related with group chats. */ void kill_groupchats(Group_Chats *g_c) { unsigned int i; for (i = 0; i < g_c->num_chats; ++i) { del_groupchat(g_c, i); } m_callback_group_invite(g_c->m, NULL); g_c->m->group_chat_object = 0; free(g_c); }
/* Create new groupchat instance. */ Group_Chats *new_groupchats(Messenger *m) { if (!m) return NULL; Group_Chats *temp = calloc(1, sizeof(Group_Chats)); if (temp == NULL) return NULL; temp->m = m; temp->fr_c = m->fr_c; m->group_chat_object = temp; m_callback_group_invite(m, &handle_friend_invite_packet); return temp; }
/* Set the callback for group invites. * * Function(Tox *tox, int friendnumber, uint8_t *group_public_key, void *userdata) */ void tox_callback_group_invite(void *tox, void (*function)(Messenger *tox, int, uint8_t *, void *), void *userdata) { Messenger *m = tox; m_callback_group_invite(m, function, userdata); }