/** @file * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef INTERFACE_TOOLBAR_READER_H #define INTERFACE_TOOLBAR_READER_H #include #include #ifdef _WIN32 #include #endif namespace Ui { class InterfaceToolbarReader; } class InterfaceToolbarReader : public QObject { Q_OBJECT public: InterfaceToolbarReader(QString ifname, void *control_in, QObject *parent = 0) : QObject(parent), ifname_(ifname), #ifdef _WIN32 control_in_((HANDLE)control_in) #else control_in_((char *)control_in), fd_in_(-1) #endif { } public slots: void loop(); signals: void received(QString ifname, int num, int command, QByteArray payload); void finished(); private: #ifdef _WIN32 int async_pipe_read(void *data, int nbyte); #endif int pipe_read(char *data, int nbyte); QString ifname_; #ifdef _WIN32 HANDLE control_in_; #else QString control_in_; int fd_in_; #endif }; #endif // INTERFACE_TOOLBAR_READER_H