void ResponseTimeDelayDialog::fillTree() { rtd_data_t rtd_data; memset (&rtd_data, 0, sizeof(rtd_data)); rtd_table_dissector_init(rtd_, &rtd_data.stat_table, NULL, NULL); rtd_data.user_data = this; GString *error_string = register_tap_listener(get_rtd_tap_listener_name(rtd_), &rtd_data, displayFilter(), 0, tapReset, get_rtd_packet_func(rtd_), tapDraw); if (error_string) { QMessageBox::critical(this, tr("Failed to attach to tap \"%1\"").arg(get_rtd_tap_listener_name(rtd_)), error_string->str); g_string_free(error_string, TRUE); free_rtd_table(&rtd_data.stat_table, NULL, NULL); reject(); } statsTreeWidget()->setSortingEnabled(false); cf_retap_packets(cap_file_.capFile()); tapDraw(&rtd_data); statsTreeWidget()->sortItems(col_type_, Qt::AscendingOrder); statsTreeWidget()->setSortingEnabled(true); remove_tap_listener(&rtd_data); free_rtd_table(&rtd_data.stat_table, NULL, NULL); }
void ResponseTimeDelayDialog::fillTree() { rtd_data_t rtd_data; memset (&rtd_data, 0, sizeof(rtd_data)); rtd_table_dissector_init(rtd_, &rtd_data.stat_table, NULL, NULL); rtd_data.user_data = this; QByteArray display_filter = displayFilter().toUtf8(); if (!registerTapListener(get_rtd_tap_listener_name(rtd_), &rtd_data, display_filter.constData(), 0, tapReset, get_rtd_packet_func(rtd_), tapDraw)) { free_rtd_table(&rtd_data.stat_table, NULL, NULL); reject(); // XXX Stay open instead? return; } statsTreeWidget()->setSortingEnabled(false); cap_file_.retapPackets(); tapDraw(&rtd_data); statsTreeWidget()->sortItems(col_type_, Qt::AscendingOrder); statsTreeWidget()->setSortingEnabled(true); removeTapListeners(); free_rtd_table(&rtd_data.stat_table, NULL, NULL); }
static void init_rtd_tables(register_rtd_t* rtd, const char *filter) { GString *error_string; rtd_t* ui; ui = g_new0(rtd_t, 1); ui->type = proto_get_protocol_short_name(find_protocol_by_id(get_rtd_proto_id(rtd))); ui->filter = g_strdup(filter); ui->vs_type = get_rtd_value_string(rtd); ui->rtd.user_data = ui; rtd_table_dissector_init(rtd, &ui->rtd.stat_table, NULL, NULL); error_string = register_tap_listener(get_rtd_tap_listener_name(rtd), &ui->rtd, filter, 0, NULL, get_rtd_packet_func(rtd), rtd_draw); if (error_string) { free_rtd_table(&ui->rtd.stat_table, NULL, NULL); fprintf(stderr, "tshark: Couldn't register srt tap: %s\n", error_string->str); g_string_free(error_string, TRUE); exit(1); } }