111 info_data_t *captureInfoData() {
return &info_data_; }
114 QMenu *createPopupMenu()
override;
116 CaptureFile *captureFile() {
return &capture_file_; }
118 void setFunnelMenus(
void);
119 void removeAdditionalToolbar(QString toolbarName);
121 void addInterfaceToolbar(
const iface_toolbar *toolbar_entry);
122 void removeInterfaceToolbar(
const char *menu_title);
124 QString getMwFileName();
125 void setMwFileName(QString fileName);
128 bool eventFilter(QObject *obj, QEvent *event)
override;
129 bool event(QEvent *event)
override;
130 void keyPressEvent(QKeyEvent *event)
override;
131 void closeEvent(QCloseEvent *event)
override;
132 void dragEnterEvent(QDragEnterEvent *event)
override;
133 void dropEvent(QDropEvent *event)
override;
134 void changeEvent(QEvent* event)
override;
137 bool tryClosingCaptureFile(QString before_what, FileCloseContext context = Default)
override;
142 MatchSelectedReplace,
150 Ui::WiresharkMainWindow *main_ui_;
152#if defined(HAVE_LIBNL) && defined(HAVE_NL80211)
155 QWidget *previous_focus_;
157 QActionGroup *show_hide_actions_;
158 QActionGroup *time_display_actions_;
159 QActionGroup *time_precision_actions_;
161 QAction *action_telephony_dis_streams_;
162 QList<QPair<QAction *, bool> > freeze_actions_;
163 QPointer<QWidget> freeze_focus_;
164 QMap<QAction *, ts_type> td_actions;
165 QMap<QAction *, ts_precision> tp_actions;
172 bool capture_stopping_;
173 bool capture_filter_valid_;
176 CaptureOptionsDialog *capture_options_dialog_;
180 QPoint dragStartPosition;
182 QPointer<TLSKeylogDialog> tlskeylog_dialog_;
187 void mergeCaptureFile();
188 void importCaptureFile();
189 bool saveCaptureFile(
capture_file *cf,
bool dont_reopen);
190 bool saveAsCaptureFile(
capture_file *cf,
bool must_support_comments =
false,
bool dont_reopen =
false);
191 void exportSelectedPackets();
192 void exportDissections(export_type_e export_type);
195 void fileAddExtension(QString &file_name,
int file_type, ws_compression_type compression_type);
197 void captureStop(
bool discard =
false);
199 void initMainToolbarIcons();
200 void initShowHideMainWidgets();
201 void initTimeDisplayFormatMenu();
202 void initTimePrecisionFormatMenu();
203 void initFreezeActions();
205 void setMenusForCaptureFile(
bool force_disable =
false)
override;
206 void setMenusForCaptureInProgress(
bool capture_in_progress =
false);
207 void setMenusForCaptureStopping();
208 void setForCapturedPackets(
bool have_captured_packets);
209 void setMenusForFileSet(
bool enable_list_files);
210 void updateStyleSheet();
212 void externalMenuHelper(
ext_menu_t * menu, QMenu * subMenu,
int depth);
214 void setForCaptureInProgress(
bool capture_in_progress =
false,
bool handle_toolbars =
false, GArray *ifaces = NULL);
215 QMenu* findOrAddMenu(QMenu *parent_menu,
const QStringList& menu_parts);
216 QMenu* findOrAddMenubar(
const QString menu_text);
218 void captureFileReadStarted(
const QString &action);
220 void addMenusandSubmenus(QAction *action, QMenu *cur_menu);
221 void removeMenusandSubmenus(QAction *action, QMenu *cur_menu);
222 void addMenuActions(QList<QAction *> &actions,
int menu_group);
223 void removeMenuActions(QList<QAction *> &actions,
int menu_group);
224 void goToConversationFrame(
bool go_next,
bool start_current =
true);
225 void colorizeWithFilter(QByteArray filter,
int color_number = -1);
229 void closePacketDialogs();
232 void fieldFilterChanged(
const QByteArray field_filter);
238 void showExtcapOptions(QString &device_name,
bool startCaptureOnClose);
260 bool openCaptureFile(QString cf_path, QString display_filter,
unsigned int type,
bool is_tempfile =
false);
261 bool openCaptureFile(QString cf_path = QString(), QString display_filter = QString()) {
return openCaptureFile(cf_path, display_filter, WTAP_TYPE_AUTO); }
262 void filterPackets(QString new_filter = QString(),
bool force =
false)
override;
263 void layoutToolbars();
264 void updatePreferenceActions();
265 void updateRecentActions();
267 void setTitlebarForCaptureFile();
269 void showCaptureOptionsDialog();
279 void captureFileOpened();
280 void captureFileReadFinished();
281 void captureFileClosing();
282 void captureFileClosed();
284 void launchRLCGraph(
bool channelKnown, uint8_t RAT, uint16_t ueid, uint8_t rlcMode,
285 uint16_t channelType, uint16_t channelId, uint8_t direction);
288 void openLuaDebuggerDialog();
291 void rtpPlayerDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
292 void rtpPlayerDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
294 void rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
295 void rtpAnalysisDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
296 void rtpAnalysisDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
297 void rtpAnalysisDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
298 void rtpStreamsDialogSelectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
299 void rtpStreamsDialogDeselectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
305 void initViewColorizeMenu();
306 void initConversationMenus();
307 static bool addExportObjectsMenuItem(
const void *key,
void *value,
void *userdata);
308 void initExportObjectsMenus();
309 static bool addFollowStreamMenuItem(
const void *key,
void *value,
void *userdata);
310 void initFollowStreamMenus();
318 void startCapture(QStringList);
320 void pushLiveCaptureInProgress();
321 void popLiveCaptureInProgress();
323 void aggregationViewChanged(
bool enable)
const;
325 void loadWindowGeometry();
326 void saveWindowGeometry();
327 void mainStackChanged(
int);
328 void updateRecentCaptures();
329 void addPacketComment();
330 void editPacketComment();
331 void deletePacketComment();
332 void deleteCommentsFromPackets();
333 QString commentToMenuText(QString text,
int max_len = 40);
334 void setEditCommentsMenu();
335 void setMenusForSelectedPacket();
337 void interfaceSelectionChanged();
338 void captureFilterSyntaxChanged(
bool valid);
339 void redissectPackets();
340 void checkDisplayFilter();
341 void fieldsChanged();
342 void reloadLuaPlugins();
343 void showAccordionFrame(
AccordionFrame *show_frame,
bool toggle =
false);
344 void showColumnEditor(
int column);
345 void showPreferenceEditor();
346 void addStatsPluginsToMenu();
347 void addDynamicMenus();
348 void reloadDynamicMenus();
349 void addPluginIFStructures();
350 QMenu * searchSubMenu(QString objectName);
351 void activatePluginIFToolbar(
bool);
353 void startInterfaceCapture(
bool valid,
const QString capture_filter);
355 void applyGlobalCommandLineOptions();
356 void setFeaturesEnabled(
bool enabled =
true);
358 void on_actionNewDisplayFilterExpression_triggered();
359 void onFilterSelected(QString,
bool);
360 void onFilterPreferences();
361 void onFilterEdit(
int uatIndex);
364 void queuedFilterAction(QString filter, FilterAction::Action action, FilterAction::ActionType type);
371 void openStatCommandDialog(
const QString &menu_path,
const char *arg,
void *userdata);
378 void openTapParameterDialog(
const QString cfg_str,
const QString arg,
void *userdata);
379 void openTapParameterDialog();
384 void connectFileMenuActions();
385 void exportPacketBytes();
387 void stripPacketHeaders();
388 void exportTLSSessionKeys();
391 void connectEditMenuActions();
392 void copySelectedItems(WiresharkMainWindow::CopySelected selection_type);
394 void editTimeShift();
395 void editConfigurationProfiles();
396 void editTimeShiftFinished(
int);
398 void editPacketCommentFinished(
PacketCommentDialog* pc_dialog,
int result,
unsigned nComment);
399 void deleteAllPacketComments();
400 void deleteAllPacketCommentsFinished(
int result);
401 void injectSecrets(
const char* proto_name,
const char* wiki_link);
402 void discardAllSecrets();
403 void discardAllSecretsFinished(
int result);
404 void showPreferencesDialog(QString module_name)
override;
406 void connectViewMenuActions();
407 void showHideMainWidgets(QAction *action);
408 void setTimestampFormat(QAction *action);
409 void setTimestampPrecision(QAction *action);
410 void setTimeDisplaySecondsWithHoursAndMinutes(
bool checked);
411 void editResolvedName();
412 void setNameResolution();
414 void showColoringRulesDialog();
415 void colorizeConversation(
bool create_rule =
false);
416 void colorizeActionTriggered();
417 void openPacketDialog(
bool from_reference =
false);
418 void reloadCaptureFileAsFormatOrCapture();
419 void reloadCaptureFile();
421 void connectGoMenuActions();
423 void setPreviousFocus();
424 void resetPreviousFocus();
426 void connectCaptureMenuActions();
427 void startCaptureTriggered();
429 void connectAnalyzeMenuActions();
431 void matchFieldFilter(FilterAction::Action action, FilterAction::ActionType filter_type);
432 void applyFieldAsColumn();
434 void filterMenuAboutToShow();
436 void applyConversationFilter();
437 void applyExportObject();
439 void openFollowStreamDialog(
int proto_id,
unsigned stream_num,
unsigned sub_stream_num,
bool use_stream_index =
true);
440 void openFollowStreamDialog(
int proto_id);
441 void openIOGraph(
bool filtered, QVector<uint> conv_ids, QVector<QVariant> conv_agg);
443 void statCommandExpertInfo(
const char *,
void *);
445 void connectHelpMenuActions();
447 void goToCancelClicked();
448 void goToGoClicked();
449 void goToLineEditReturnPressed();
451 void connectStatisticsMenuActions();
453 void showResolvedAddressesDialog();
454 void showConversationsDialog();
455 void showEndpointsDialog();
457 void openTcpStreamDialog(
int graph_type);
458 void openSCTPAllAssocsDialog();
459 void on_actionSCTPShowAllAssociations_triggered();
460 void on_actionSCTPAnalyseThisAssociation_triggered();
461 void on_actionSCTPFilterThisAssociation_triggered();
462 void statCommandMulticastStatistics(
const char *arg,
void *);
464 void statCommandWlanStatistics(
const char *arg,
void *);
466 void openStatisticsTreeDialog(
const char *abbr);
467 void statCommandIOGraph(
const char *,
void *);
468 void showIOGraphDialog(io_graph_item_unit_t value_units, QString)
override;
470 void showPlotDialog(
const QString& y_field = QString(),
bool filtered =
false)
override;
472 void connectTelephonyMenuActions();
478 void statCommandLteMacStatistics(
const char *arg,
void *);
479 void statCommandLteRlcStatistics(
const char *arg,
void *);
480 void openRtpStreamAnalysisDialog();
481 void openRtpPlayerDialog();
483 void connectWirelessMenuActions();
485 void connectToolsMenuActions();
487 void externalMenuItemTriggered();
489 void on_actionContextWikiProtocolPage_triggered();
490 void on_actionContextFilterFieldReference_triggered();
492 void extcap_options_finished(
int result);
493 void showExtcapOptionsDialog(QString device_name,
bool startCaptureOnClose);
495 QString findRtpStreams(QVector<rtpstream_id_t *> *stream_ids,
bool reverse);
497 void openTLSKeylogDialog();