regen pidl all: rm epan/dissectors/pidl/*-stamp; pushd epan/dissectors/pidl/ && make...
[wireshark-sm.git] / plugins / epan / pluginifdemo / ui / uihandler.h
blob3453602900101dfdaccaeee6902c6a10722dcbf8
1 /* uihandler.h
2 * Author: Roland Knall <rknall@gmail.com>
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 */
11 #ifndef PLUGINIFDEMO_UI_UIHANDLER_H_
12 #define PLUGINIFDEMO_UI_UIHANDLER_H_
14 #ifdef __cplusplus
16 #include <QObject>
17 #include <QDialog>
18 #include <QMutex>
20 #include <epan/plugin_if.h>
22 #include "ws_symbol_export.h"
24 class GuiHandler : public QObject
26 Q_OBJECT
28 public:
30 static GuiHandler * getInstance();
32 void showAboutDialog(ext_menubar_gui_type gui_type, gpointer gui_data);
33 void showMainDialog(ext_menubar_gui_type gui_type, gpointer gui_data);
35 void doReset();
37 void addLogMessage(QString message);
39 void setToolbar(ext_toolbar_t * toolbar);
40 ext_toolbar_t * toolBar();
42 signals:
43 void reset();
44 void logChanged(QString newEntry);
46 protected:
48 GuiHandler();
50 // Stop the compiler generating methods of "copy the object"
51 GuiHandler(GuiHandler const& copy); // Not implemented
52 GuiHandler& operator=(GuiHandler const& copy); // Not implemented
54 private:
56 static QMutex * singletonMutex;
58 ext_toolbar_t * _toolbar;
60 void executeDialog(QDialog * object);
63 extern "C" {
64 #endif
66 extern void pluginifdemo_ui_about(ext_menubar_gui_type gui_type, gpointer gui_data);
67 extern void pluginifdemo_ui_main(ext_menubar_gui_type gui_type, gpointer gui_data);
68 extern void pluginifdemo_toolbar_log(const gchar * message);
70 extern void pluginifdemo_toolbar_register(ext_toolbar_t * toolbar);
72 #ifdef __cplusplus
74 #endif
76 #endif /* BURANALYZER_UI_UIHANDLER_H_ */
79 * Editor modelines
81 * Local Variables:
82 * c-basic-offset: 4
83 * tab-width: 8
84 * indent-tabs-mode: nil
85 * End:
87 * ex: set shiftwidth=4 tabstop=8 expandtab:
88 * :indentSize=4:tabSize=8:noTabs=true: