#include <epan/tap.h>
#include <epan/dissectors/packet-afp.h>
-#include "../register.h"
#include "../timestats.h"
#include "../simple_dialog.h"
#include "../file.h"
-#include "../globals.h"
#include "../stat_menu.h"
#include "gtk/gui_utils.h"
#include "gtk/dlg_utils.h"
-#include "gtk/filter_dlg.h"
#include "gtk/service_response_time_table.h"
-#include "gtk/tap_dfilter_dlg.h"
+#include "gtk/tap_param_dlg.h"
#include "gtk/main.h"
+#include "gtk/old-gtk-compat.h"
/* used to keep track of the statistics for an entire program interface */
typedef struct _afpstat_t {
ss=g_malloc(sizeof(afpstat_t));
- ss->win=window_new(GTK_WINDOW_TOPLEVEL, "afp-stat");
+ ss->win=dlg_window_new("afp-stat"); /* transient_for top_level */
+ gtk_window_set_destroy_with_parent (GTK_WINDOW(ss->win), TRUE);
gtk_window_set_default_size(GTK_WINDOW(ss->win), 550, 600);
afpstat_set_title(ss);
init_srt_table(&ss->afp_srt_table, 256, vbox, "afp.command");
for(i=0;i<256;i++){
- init_srt_table_row(&ss->afp_srt_table, i, val_to_str(i, CommandCode_vals, "Unknown(%u)"));
+ init_srt_table_row(&ss->afp_srt_table, i, val_to_str_ext(i, &CommandCode_vals_ext, "Unknown(%u)"));
}
- error_string=register_tap_listener("afp", ss, filter, afpstat_reset, afpstat_packet, afpstat_draw);
+ error_string=register_tap_listener("afp", ss, filter, 0, afpstat_reset, afpstat_packet, afpstat_draw);
if(error_string){
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, error_string->str);
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str);
g_string_free(error_string, TRUE);
g_free(ss);
return;
gtk_widget_show_all(ss->win);
window_present(ss->win);
- cf_retap_packets(&cfile, FALSE);
+ cf_retap_packets(&cfile);
+ gdk_window_raise(gtk_widget_get_window(ss->win));
}
-static tap_dfilter_dlg afp_stat_dlg = {
+static tap_param afp_stat_params[] = {
+ { PARAM_FILTER, "Filter", NULL }
+};
+
+static tap_param_dlg afp_stat_dlg = {
"AFP SRT Statistics",
"afp,srt",
gtk_afpstat_init,
- -1
+ -1,
+ G_N_ELEMENTS(afp_stat_params),
+ afp_stat_params
};
void
register_dfilter_stat(&afp_stat_dlg, "AFP",
REGISTER_STAT_GROUP_RESPONSE_TIME);
}
+
+#ifdef MAIN_MENU_USE_UIMANAGER
+void afp_srt_stat_cb(GtkAction *action, gpointer user_data _U_)
+{
+ tap_param_dlg_cb(action, &afp_stat_dlg);
+}
+#endif