Add function to check if the peernumber is ours for group chats.

This commit is contained in:
irungentoo 2014-10-14 19:43:54 -04:00
parent b41eadf695
commit 97707a74fe
No known key found for this signature in database
GPG Key ID: 10349DC9BED89E98
4 changed files with 46 additions and 4 deletions

View File

@ -744,6 +744,25 @@ int group_number_peers(const Group_Chats *g_c, int groupnumber)
return g->numpeers;
}
/* return 1 if the peernumber corresponds to ours.
* return 0 on failure.
*/
unsigned int group_peernumber_is_ours(const Group_Chats *g_c, int groupnumber, int peernumber)
{
Group_c *g = get_group_c(g_c, groupnumber);
if (!g)
return 0;
if (g->status != GROUPCHAT_STATUS_CONNECTED)
return 0;
if ((uint32_t)peernumber >= g->numpeers)
return 0;
return g->peer_number == g->group[peernumber].peer_number;
}
/* Send a group packet to friendcon_id.
*
* return 1 on success

View File

@ -190,6 +190,11 @@ int group_action_send(const Group_Chats *g_c, int groupnumber, const uint8_t *ac
*/
int group_number_peers(const Group_Chats *g_c, int groupnumber);
/* return 1 if the peernumber corresponds to ours.
* return 0 on failure.
*/
unsigned int group_peernumber_is_ours(const Group_Chats *g_c, int groupnumber, int peernumber);
/* List all the peers in the group chat.
*
* Copies the names of the peers to the name[length][MAX_NAME_LENGTH] array.

View File

@ -564,7 +564,7 @@ void tox_callback_group_invite(Tox *tox, void (*function)(Messenger *tox, int32_
/* Set the callback for group messages.
*
* Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * message, uint16_t length, void *userdata)
* Function(Tox *tox, int groupnumber, int peernumber, uint8_t * message, uint16_t length, void *userdata)
*/
void tox_callback_group_message(Tox *tox, void (*function)(Messenger *tox, int, int, const uint8_t *, uint16_t, void *),
void *userdata)
@ -575,7 +575,7 @@ void tox_callback_group_message(Tox *tox, void (*function)(Messenger *tox, int,
/* Set the callback for group actions.
*
* Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * action, uint16_t length, void *userdata)
* Function(Tox *tox, int groupnumber, int peernumber, uint8_t * action, uint16_t length, void *userdata)
*/
void tox_callback_group_action(Tox *tox, void (*function)(Messenger *tox, int, int, const uint8_t *, uint16_t, void *),
void *userdata)
@ -672,6 +672,17 @@ int tox_group_action_send(Tox *tox, int groupnumber, const uint8_t *action, uint
return -1;
}
/* Check if the current peernumber corresponds to ours.
*
* return 1 if the peernumber corresponds to ours.
* return 0 on failure.
*/
unsigned int tox_group_peernumber_is_ours(const Tox *tox, int groupnumber, int peernumber)
{
const Messenger *m = tox;
return group_peernumber_is_ours(m->group_chat_object, groupnumber, peernumber);
}
/* Return the number of peers in the group chat on success.
* return -1 on failure
*/

View File

@ -428,14 +428,14 @@ void tox_callback_group_invite(Tox *tox, void (*function)(Tox *tox, int32_t, con
/* Set the callback for group messages.
*
* Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * message, uint16_t length, void *userdata)
* Function(Tox *tox, int groupnumber, int peernumber, uint8_t * message, uint16_t length, void *userdata)
*/
void tox_callback_group_message(Tox *tox, void (*function)(Tox *tox, int, int, const uint8_t *, uint16_t, void *),
void *userdata);
/* Set the callback for group actions.
*
* Function(Tox *tox, int groupnumber, int friendgroupnumber, uint8_t * action, uint16_t length, void *userdata)
* Function(Tox *tox, int groupnumber, int peernumber, uint8_t * action, uint16_t length, void *userdata)
*/
void tox_callback_group_action(Tox *tox, void (*function)(Tox *tox, int, int, const uint8_t *, uint16_t, void *),
void *userdata);
@ -502,6 +502,13 @@ int tox_group_message_send(Tox *tox, int groupnumber, const uint8_t *message, ui
*/
int tox_group_action_send(Tox *tox, int groupnumber, const uint8_t *action, uint16_t length);
/* Check if the current peernumber corresponds to ours.
*
* return 1 if the peernumber corresponds to ours.
* return 0 on failure.
*/
unsigned int tox_group_peernumber_is_ours(const Tox *tox, int groupnumber, int peernumber);
/* Return the number of peers in the group chat on success.
* return -1 on failure
*/