Wireshark  4.3.0
The Wireshark network protocol analyzer
interface_frame.h
Go to the documentation of this file.
1 
13 #ifndef INTERFACE_FRAME_H
14 #define INTERFACE_FRAME_H
15 
16 #include <config.h>
17 
21 
22 #include <QFrame>
23 #include <QHBoxLayout>
24 #include <QAbstractButton>
25 #include <QTimer>
26 #include <QMenu>
27 #include <QPushButton>
28 
29 namespace Ui {
30 class InterfaceFrame;
31 }
32 
33 class InterfaceFrame : public QFrame
34 {
35  Q_OBJECT
36 public:
37  explicit InterfaceFrame(QWidget *parent = 0);
38  ~InterfaceFrame();
39 
40  int interfacesHidden();
41 
42  QMenu * getSelectionMenu();
43  int interfacesPresent();
44  void ensureSelectedInterface();
45 
46 Q_SIGNALS:
47  void showExtcapOptions(QString device_name, bool startCaptureOnClose);
48  void startCapture(QStringList);
49  void itemSelectionChanged();
50  void typeSelectionChanged();
51 
52 public slots:
53 #ifdef HAVE_LIBPCAP
54  void scanLocalInterfaces(GList *filter_list = nullptr);
55 #endif
56  void updateSelectedInterfaces();
57  void interfaceListChanged();
58  void toggleHiddenInterfaces();
59 #ifdef HAVE_PCAP_REMOTE
60  void toggleRemoteInterfaces();
61 #endif
62  void showRunOnFile();
63  void showContextMenu(QPoint pos);
64 
65 protected:
66  void hideEvent(QHideEvent *evt);
67  void showEvent(QShowEvent *evt);
68 
69 private:
70 
71  void resetInterfaceTreeDisplay();
72  bool haveLocalCapturePermissions() const;
73 
74  Ui::InterfaceFrame *ui;
75 
76  InterfaceSortFilterModel proxy_model_;
77  InterfaceTreeModel source_model_;
78  InfoProxyModel info_model_;
79 
80  QMap<int, QString> ifTypeDescription;
81 
82 #ifdef HAVE_LIBPCAP
83  QTimer *stat_timer_;
84 #endif // HAVE_LIBPCAP
85 
86 private slots:
87  void interfaceTreeSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
88 
89  void on_interfaceTree_doubleClicked(const QModelIndex &index);
90 #ifdef HAVE_LIBPCAP
91  void on_interfaceTree_clicked(const QModelIndex &index);
92 #endif
93 
94  void updateStatistics(void);
95  void actionButton_toggled(bool checked);
96  void triggeredIfTypeButton();
97  void on_warningLabel_linkActivated(const QString &link);
98 };
99 
100 #endif // INTERFACE_FRAME_H
Definition: info_proxy_model.h:21
Definition: interface_frame.h:34
Definition: interface_sort_filter_model.h:22
Definition: interface_tree_model.h:66