diff --git a/tools/chatgui/transport/gui_bridge.h b/tools/chatgui/transport/gui_bridge.h index 884203a3..ade48477 100644 --- a/tools/chatgui/transport/gui_bridge.h +++ b/tools/chatgui/transport/gui_bridge.h @@ -236,6 +236,8 @@ void gui_bridge_set_dm_conv_updated_cb(gui_dm_conv_updated_fn cb); * data: [conv_id_len:1][conv_id:var][count:2]([dir:1][seq:8][ts:8][author:8][ct_len:1][ct:var][data_len:2][data:var])* */ typedef void (*gui_dm_messages_fn)(const uint8_t* data, int len); void gui_bridge_set_dm_messages_cb(gui_dm_messages_fn cb); +/* CHAT_EVT_DM_INVITE_RESULT: коррелированный результат отправки приглашения. */ +void gui_bridge_set_dm_invite_result_cb(gui_dm_messages_fn cb); /* CHAT_EVT_ATTACHMENT_PREPARATION: target + job UUID + state. */ void gui_bridge_set_attachment_preparation_cb(gui_dm_messages_fn cb); diff --git a/tools/chatgui/transport/gui_bridge_impl.cpp b/tools/chatgui/transport/gui_bridge_impl.cpp index 2fa2fdef..35da42cc 100644 --- a/tools/chatgui/transport/gui_bridge_impl.cpp +++ b/tools/chatgui/transport/gui_bridge_impl.cpp @@ -64,6 +64,7 @@ static gui_dm_conv_updated_fn g_dm_conv_updated_cb = nullptr; static gui_dm_messages_fn g_dm_messages_cb = nullptr; static gui_dm_messages_fn g_attachment_preparation_cb = nullptr; static gui_dm_messages_fn g_dm_call_route_cb = nullptr; +static gui_dm_messages_fn g_dm_invite_result_cb = nullptr; static gui_network_changed_fn g_network_changed_cb = nullptr; static struct UASYNC* g_ua = nullptr; static struct UTUN_INSTANCE* g_inst = nullptr; @@ -78,6 +79,9 @@ void GuiBridgeReceiver::processPost(int eventType, QByteArray data) { eventType == 16 || eventType == 17 || eventType == 24 || eventType == 25 || eventType == 31 || eventType == 33)) g_network_changed_cb(eventType); switch (eventType) { + case CHAT_EVT_DM_INVITE_RESULT: + if (g_dm_invite_result_cb) g_dm_invite_result_cb(d, dlen); + break; case CHAT_EVT_DM_CALL_ROUTE: if (g_dm_call_route_cb) g_dm_call_route_cb(d, dlen); break; @@ -549,6 +553,7 @@ void gui_bridge_set_dm_msg_received_cb(gui_dm_msg_received_fn cb) { void gui_bridge_set_network_changed_cb(gui_network_changed_fn cb) { g_network_changed_cb = cb; } void gui_bridge_set_dm_call_route_cb(gui_dm_messages_fn cb) { g_dm_call_route_cb = cb; } +void gui_bridge_set_dm_invite_result_cb(gui_dm_messages_fn cb) { g_dm_invite_result_cb = cb; } void gui_bridge_set_dm_conv_updated_cb(gui_dm_conv_updated_fn cb) { g_dm_conv_updated_cb = cb;