summaryrefslogtreecommitdiff
path: root/toxcore/Messenger.h
diff options
context:
space:
mode:
authorGregory Mullen (grayhatter) <greg@grayhatter.com>2016-09-11 16:27:03 -0700
committerGregory Mullen (grayhatter) <greg@grayhatter.com>2016-09-17 14:05:51 -0700
commit21f8db12c45bd56293262cd4abfb73cd9abec821 (patch)
tree580729367d00e1eb7e0c4d533777d22af7d7ffc5 /toxcore/Messenger.h
parent5da85c582d97d746887da407153afc0acf0a4215 (diff)
Make ToxAV stateless
Diffstat (limited to 'toxcore/Messenger.h')
-rw-r--r--toxcore/Messenger.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h
index 2317eb8b..6f99f15b 100644
--- a/toxcore/Messenger.h
+++ b/toxcore/Messenger.h
@@ -200,8 +200,11 @@ typedef struct {
200 unsigned int num_sending_files; 200 unsigned int num_sending_files;
201 struct File_Transfers file_receiving[MAX_CONCURRENT_FILE_PIPES]; 201 struct File_Transfers file_receiving[MAX_CONCURRENT_FILE_PIPES];
202 202
203 /* ToxAV, *object is the internal session data for the active call, userdata is the *pointer provided in
204 * tox_iterate()
205 */
203 struct { 206 struct {
204 int (*function)(Messenger *m, uint32_t friendnumber, const uint8_t *data, uint16_t len, void *object); 207 int (*function)(Messenger *m, uint32_t friendnumber, const uint8_t *data, uint16_t len, void *object, void *userdata);
205 void *object; 208 void *object;
206 } lossy_rtp_packethandlers[PACKET_LOSSY_AV_RESERVED]; 209 } lossy_rtp_packethandlers[PACKET_LOSSY_AV_RESERVED];
207 210
@@ -245,7 +248,8 @@ struct Messenger {
245 void (*friend_typingchange)(struct Messenger *m, uint32_t, bool, void *); 248 void (*friend_typingchange)(struct Messenger *m, uint32_t, bool, void *);
246 void (*read_receipt)(struct Messenger *m, uint32_t, uint32_t, void *); 249 void (*read_receipt)(struct Messenger *m, uint32_t, uint32_t, void *);
247 void (*friend_connectionstatuschange)(struct Messenger *m, uint32_t, unsigned int, void *); 250 void (*friend_connectionstatuschange)(struct Messenger *m, uint32_t, unsigned int, void *);
248 void (*friend_connectionstatuschange_internal)(struct Messenger *m, uint32_t, uint8_t, void *); 251 void (*friend_connectionstatuschange_internal)(struct Messenger *m, uint32_t, uint8_t, void *, void *);
252 /* ToxAV internal session data */
249 void *friend_connectionstatuschange_internal_userdata; 253 void *friend_connectionstatuschange_internal_userdata;
250 254
251 void *group_chat_object; /* Set by new_groupchats()*/ 255 void *group_chat_object; /* Set by new_groupchats()*/
@@ -258,7 +262,7 @@ struct Messenger {
258 void (*file_filedata)(struct Messenger *m, uint32_t, uint32_t, uint64_t, const uint8_t *, size_t, void *); 262 void (*file_filedata)(struct Messenger *m, uint32_t, uint32_t, uint64_t, const uint8_t *, size_t, void *);
259 void (*file_reqchunk)(struct Messenger *m, uint32_t, uint32_t, uint64_t, size_t, void *); 263 void (*file_reqchunk)(struct Messenger *m, uint32_t, uint32_t, uint64_t, size_t, void *);
260 264
261 void (*msi_packet)(struct Messenger *m, uint32_t, const uint8_t *, uint16_t, void *); 265 void (*msi_packet)(struct Messenger *m, uint32_t, const uint8_t *, uint16_t, void *, void *);
262 void *msi_packet_userdata; 266 void *msi_packet_userdata;
263 267
264 void (*lossy_packethandler)(struct Messenger *m, uint32_t, const uint8_t *, size_t, void *); 268 void (*lossy_packethandler)(struct Messenger *m, uint32_t, const uint8_t *, size_t, void *);
@@ -523,7 +527,8 @@ void m_callback_read_receipt(Messenger *m, void (*function)(Messenger *m, uint32
523void m_callback_connectionstatus(Messenger *m, void (*function)(Messenger *m, uint32_t, unsigned int, void *)); 527void m_callback_connectionstatus(Messenger *m, void (*function)(Messenger *m, uint32_t, unsigned int, void *));
524 528
525/* Same as previous but for internal A/V core usage only */ 529/* Same as previous but for internal A/V core usage only */
526void m_callback_connectionstatus_internal_av(Messenger *m, void (*function)(Messenger *m, uint32_t, uint8_t, void *), 530void m_callback_connectionstatus_internal_av(Messenger *m, void (*function)(Messenger *m, uint32_t, uint8_t, void *,
531 void *),
527 void *userdata); 532 void *userdata);
528 533
529 534
@@ -657,8 +662,8 @@ uint64_t file_dataremaining(const Messenger *m, int32_t friendnumber, uint8_t fi
657 * 662 *
658 * Function(Messenger *m, uint32_t friendnumber, uint8_t *data, uint16_t length, void *userdata) 663 * Function(Messenger *m, uint32_t friendnumber, uint8_t *data, uint16_t length, void *userdata)
659 */ 664 */
660void m_callback_msi_packet(Messenger *m, void (*function)(Messenger *m, uint32_t, const uint8_t *, uint16_t, void *), 665void m_callback_msi_packet(Messenger *m, void (*function)(Messenger *m, uint32_t, const uint8_t *, uint16_t, void *,
661 void *userdata); 666 void *), void *toxav_session);
662 667
663/* Send an msi packet. 668/* Send an msi packet.
664 * 669 *
@@ -673,7 +678,7 @@ int m_msi_packet(const Messenger *m, int32_t friendnumber, const uint8_t *data,
673 * return 0 on success. 678 * return 0 on success.
674 */ 679 */
675int m_callback_rtp_packet(Messenger *m, int32_t friendnumber, uint8_t byte, int (*packet_handler_callback)(Messenger *m, 680int m_callback_rtp_packet(Messenger *m, int32_t friendnumber, uint8_t byte, int (*packet_handler_callback)(Messenger *m,
676 uint32_t friendnumber, const uint8_t *data, uint16_t len, void *object), void *object); 681 uint32_t friendnumber, const uint8_t *data, uint16_t len, void *object, void *userdata), void *object);
677 682
678/**********************************************/ 683/**********************************************/
679 684