/** @file * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef EXTCAP_OPTIONS_DIALOG_H #define EXTCAP_OPTIONS_DIALOG_H #include #include #include #include #include #include "ui/qt/extcap_argument.h" #include #include namespace Ui { class ExtcapOptionsDialog; } typedef QList ExtcapArgumentList; class ExtcapOptionsDialog : public QDialog { Q_OBJECT public: ~ExtcapOptionsDialog(); static ExtcapOptionsDialog * createForDevice(QString &device_name, bool startCaptureOnClose, QWidget *parent = 0); ExtcapValueList loadValuesFor(int argNum, QString call, QString parent = ""); private Q_SLOTS: void on_buttonBox_accepted(); void on_buttonBox_rejected(); void on_buttonBox_clicked(QAbstractButton *button); void on_buttonBox_helpRequested(); void updateWidgets(); void anyValueChanged(); private: explicit ExtcapOptionsDialog(bool startCaptureOnClose, QWidget *parent = 0); Ui::ExtcapOptionsDialog *ui; QString device_name; guint device_idx; QIcon defaultValueIcon_; ExtcapArgumentList extcapArguments; void loadArguments(); bool saveOptionToCaptureInfo(); GHashTable * getArgumentSettings(bool useCallsAsKey = false, bool includeEmptyValues = true); void storeValues(); void resetValues(); }; #endif // EXTCAP_OPTIONS_DIALOG_H