From 444dfda793784cecda0757cbe50e27a5ba855ba0 Mon Sep 17 00:00:00 2001 From: Michael Mann Date: Wed, 16 Dec 2015 23:15:03 -0500 Subject: Allow "capture info data" to not be a singleton. It was buried as a static variable in capture_info.c, and functions were refactored to allow a pointer to the info_data_t structure to be passed in. TShark and GTK will have their own single (global) copy of the structure, while it opens up Qt to have multiple instances. Change-Id: Ic2d7a2ad574de43f457cb18b194d6bc3fffb6120 Reviewed-on: https://code.wireshark.org/review/12691 Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- capture_info.h | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'capture_info.h') diff --git a/capture_info.h b/capture_info.h index 8a72114a8f..abc0b2e91f 100644 --- a/capture_info.h +++ b/capture_info.h @@ -39,24 +39,13 @@ #include "capture_opts.h" #include +/* XXX - Should be temporary until packet_counts is removed */ +#include + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -/* open the info - init values (wtap, counts), create dialog */ -extern void capture_info_open(capture_session *cap_session); - -/* new file arrived - (eventually close old wtap), open wtap */ -extern gboolean capture_info_new_file(const char *new_filename); - -/* new packets arrived - read from wtap, count */ -extern void capture_info_new_packets(int to_read); - -/* close the info - close wtap, destroy dialog */ -extern void capture_info_close(void); - - - /** Current Capture info. */ typedef struct { /* handle */ @@ -68,6 +57,23 @@ typedef struct { gint new_packets; /**< packets since last update */ } capture_info; +typedef struct _info_data { + packet_counts counts; /* several packet type counters */ + struct wtap* wtap; /* current wtap file */ + capture_info ui; /* user interface data */ +} info_data_t; + +/* open the info - init values (wtap, counts), create dialog */ +extern void capture_info_open(capture_session *cap_session, info_data_t* cap_info); + +/* new file arrived - (eventually close old wtap), open wtap */ +extern gboolean capture_info_new_file(const char *new_filename, info_data_t* cap_info); + +/* new packets arrived - read from wtap, count */ +extern void capture_info_new_packets(int to_read, info_data_t* cap_info); + +/* close the info - close wtap, destroy dialog */ +extern void capture_info_close(info_data_t* cap_info); /** Create the capture info dialog */ extern void -- cgit v1.2.1