Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
follow_stream_dialog.h
Go to the documentation of this file.
1
10#ifndef FOLLOW_STREAM_DIALOG_H
11#define FOLLOW_STREAM_DIALOG_H
12
13#include <config.h>
14
15#include <stdio.h>
16
17#ifdef HAVE_UNISTD_H
18#include <unistd.h>
19#endif
20
21#include "file.h"
22
23#include "epan/follow.h"
24
25#include "wireshark_dialog.h"
26
27#include <QFile>
28#include <QMap>
29#include <QPushButton>
30#include <QTextCodec>
31
32namespace Ui {
34}
35
37{
38 Q_OBJECT
39
40public:
41 explicit FollowStreamDialog(QWidget &parent, CaptureFile &cf, int proto_id);
43
44 void addCodecs(const QMap<QString, QTextCodec *> &codecMap);
45 bool follow(QString previous_filter = QString(), bool use_stream_index = false, unsigned stream_num = 0, unsigned sub_stream_num = 0);
46
47protected:
48 bool eventFilter(QObject *obj, QEvent *event);
49 void keyPressEvent(QKeyEvent *event);
50 void captureFileClosed();
51
52private slots:
53 void cbCharsetCurrentIndexChanged(int idx);
54 void deltaComboBoxCurrentIndexChanged(int idx);
55 void cbDirectionsCurrentIndexChanged(int idx);
56 void bFindClicked();
57 void leFindReturnPressed();
58
59 void helpButton();
60 void backButton();
61 void close();
62 void filterOut();
63 void useRegexFind(bool use_regex);
64 void findText(bool go_back = true);
65 void saveAs();
66 void printStream();
67 void fillHintLabel(int pkt = 0);
68 void goToPacketForTextPos(int pkt = 0);
69
70 void streamNumberSpinBoxValueChanged(int stream_num);
71 void subStreamNumberSpinBoxValueChanged(int sub_stream_num);
72
73 void buttonBoxRejected();
74
75signals:
76 void updateFilter(QString filter, bool force);
77 void goToPacket(int packet_num);
78
79private:
80 // Callback for register_tap_listener
81 static void resetStream(void *tapData);
82
83 void removeStreamControls();
84 void resetStream(void);
85 void updateWidgets(bool follow_in_progress);
86 void updateWidgets() { updateWidgets(false); } // Needed for WiresharkDialog?
87 void showBuffer(QByteArray &buffer, size_t nchars, bool is_from_server,
88 uint32_t packet_num, nstime_t abs_ts, uint32_t *global_pos);
89 void readStream();
90 void readFollowStream();
91
92 void followStream();
93 void addText(QString text, bool is_from_server, uint32_t packet_num, bool colorize = true);
94
95 Ui::FollowStreamDialog *ui;
96
97 QPushButton *b_filter_out_;
98 QPushButton *b_find_;
99 QPushButton *b_print_;
100 QPushButton *b_save_;
101 QPushButton *b_back_;
102
103 follow_info_t follow_info_;
104 register_follow_t* follower_;
105 QString previous_filter_;
106 QString filter_out_filter_;
107 QString output_filter_;
108 int client_buffer_count_;
109 int server_buffer_count_;
110 int client_packet_count_;
111 int server_packet_count_;
112 uint32_t last_packet_;
113 bool last_from_server_;
114 nstime_t last_ts_;
115 int turns_;
116
117 bool use_regex_find_;
118
119 bool terminating_;
120
121 int previous_sub_stream_num_;
122};
123
124#endif // FOLLOW_STREAM_DIALOG_H
Definition capture_file.h:21
Definition follow_stream_dialog.h:37
void captureFileClosed()
Called when the capture file was closed. This can be used to enable or disable widgets according to t...
Definition follow_stream_dialog.cpp:1173
Definition wireshark_dialog.h:35
Definition follow.h:51
Definition mcast_stream.h:30
Definition nstime.h:26
Definition follow.c:23