update epan/dissectors/pidl/drsuapi/drsuapi.idl from samba
[wireshark-sm.git] / ui / qt / extcap_options_dialog.h
blobddf82165fd28483e0ddf64c2eb50010d39580a1f
1 /** @file
3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later
8 */
11 #ifndef EXTCAP_OPTIONS_DIALOG_H
12 #define EXTCAP_OPTIONS_DIALOG_H
14 #include <config.h>
16 #include <QWidget>
17 #include <QDialog>
18 #include <QPushButton>
19 #include <QList>
21 #include "ui/qt/extcap_argument.h"
23 #include <extcap.h>
24 #include <extcap_parser.h>
26 namespace Ui {
27 class ExtcapOptionsDialog;
30 typedef QList<ExtcapArgument *> ExtcapArgumentList;
32 class ExtcapOptionsDialog : public QDialog
34 Q_OBJECT
36 public:
37 ~ExtcapOptionsDialog();
38 static ExtcapOptionsDialog * createForDevice(QString &device_name, bool startCaptureOnClose, QWidget *parent = 0);
40 ExtcapValueList loadValuesFor(int argNum, QString call, QString parent = "");
42 private Q_SLOTS:
43 void on_buttonBox_clicked(QAbstractButton *button);
44 void on_buttonBox_helpRequested();
45 void updateWidgets();
46 void anyValueChanged();
48 private:
49 explicit ExtcapOptionsDialog(bool startCaptureOnClose, QWidget *parent = 0);
51 Ui::ExtcapOptionsDialog *ui;
52 QString device_name;
53 unsigned device_idx;
54 QIcon defaultValueIcon_;
56 ExtcapArgumentList extcapArguments;
58 void loadArguments();
60 bool saveOptionToCaptureInfo();
61 GHashTable * getArgumentSettings(bool useCallsAsKey = false, bool includeEmptyValues = true);
62 void storeValues();
63 void resetValues();
67 #endif // EXTCAP_OPTIONS_DIALOG_H