aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-09-21 11:28:26 -0400
committerMichael Mann <mmann78@netscape.net>2017-09-21 22:16:09 +0000
commit620d54b1e3a4fcad1994409013f6a5b2b76913b4 (patch)
tree57178fbcdd56a4628a359c996c69f4b256a7f848 /ui/qt
parentbd28737d7f0e4cd30f68f16ee94dcc0dfcf33ea3 (diff)
Complete move of tap-sequence-analysis.c functionality to sequence_analysis.c
Since dissectors are now populating the timestamp of the seq_analysis_item_t structure within the tap function, don't have the sequence_anaylsis redo it when writing an ASCII file. This removes the need for the capture_file parameter and simplifies the logic a bit. Also just have GUI register the tap itself. It will provide for some more flexibility in the future. Change-Id: I55b2f951b977ea70ac9f7eb4929245b0779e5f0e Reviewed-on: https://code.wireshark.org/review/23650 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'ui/qt')
-rw-r--r--ui/qt/sequence_diagram.cpp3
-rw-r--r--ui/qt/sequence_dialog.cpp21
-rw-r--r--ui/qt/sequence_dialog.h3
3 files changed, 19 insertions, 8 deletions
diff --git a/ui/qt/sequence_diagram.cpp b/ui/qt/sequence_diagram.cpp
index 3b20d0b462..a992c36803 100644
--- a/ui/qt/sequence_diagram.cpp
+++ b/ui/qt/sequence_diagram.cpp
@@ -22,8 +22,7 @@
#include "sequence_diagram.h"
#include "epan/addr_resolv.h"
-
-#include "ui/tap-sequence-analysis.h"
+#include "epan/sequence_analysis.h"
#include <ui/qt/utils/color_utils.h>
#include <ui/qt/utils/qt_ui_utils.h>
diff --git a/ui/qt/sequence_dialog.cpp b/ui/qt/sequence_dialog.cpp
index 786a73076d..9af0232787 100644
--- a/ui/qt/sequence_dialog.cpp
+++ b/ui/qt/sequence_dialog.cpp
@@ -34,6 +34,7 @@
#include "sequence_diagram.h"
#include "wireshark_application.h"
#include <ui/qt/utils/variant_pointer.h>
+#include <ui/alert_box.h>
#include <QDir>
#include <QFileDialog>
@@ -399,12 +400,14 @@ void SequenceDialog::on_buttonBox_accepted()
} else if (extension.compare(jpeg_filter) == 0) {
save_ok = ui->sequencePlot->saveJpg(file_name);
} else if (extension.compare(ascii_filter) == 0 && !file_closed_ && info_->sainfo()) {
- save_ok = sequence_analysis_dump_to_file(file_name.toUtf8().constData(), info_->sainfo(), cap_file_.capFile(), 0);
+ save_ok = sequence_analysis_dump_to_file(file_name.toUtf8().constData(), info_->sainfo(), 0);
}
// else error dialog?
if (save_ok) {
path = QDir(file_name);
wsApp->setLastOpenDir(path.canonicalPath().toUtf8().constData());
+ } else {
+ open_failure_alert_box(file_name.toUtf8().constData(), errno, TRUE);
}
}
}
@@ -420,9 +423,19 @@ void SequenceDialog::fillDiagram()
} else {
seq_diagram_->clearData();
sequence_analysis_list_free(info_->sainfo());
- sequence_analysis_list_get(cap_file_.capFile(), info_->sainfo());
- num_items_ = sequence_analysis_get_nodes(info_->sainfo());
- seq_diagram_->setData(info_->sainfo());
+
+ register_analysis_t* analysis = sequence_analysis_find_by_name(info_->sainfo()->name);
+ if (analysis != NULL)
+ {
+ register_tap_listener(sequence_analysis_get_tap_listener_name(analysis), info_->sainfo(), NULL, sequence_analysis_get_tap_flags(analysis),
+ NULL, sequence_analysis_get_packet_func(analysis), NULL);
+
+ cf_retap_packets(cap_file_.capFile());
+ remove_tap_listener(info_->sainfo());
+
+ num_items_ = sequence_analysis_get_nodes(info_->sainfo());
+ seq_diagram_->setData(info_->sainfo());
+ }
}
sequence_w_ = one_em_ * 15; // Arbitrary
diff --git a/ui/qt/sequence_dialog.h b/ui/qt/sequence_dialog.h
index 110e1f948e..c4d8caf5fb 100644
--- a/ui/qt/sequence_dialog.h
+++ b/ui/qt/sequence_dialog.h
@@ -29,8 +29,7 @@
#include "cfile.h"
#include "epan/packet.h"
-
-#include "ui/tap-sequence-analysis.h"
+#include "epan/sequence_analysis.h"
#include <ui/qt/widgets/qcustomplot.h>
#include "wireshark_dialog.h"