From cf91fdf16b2d961024ea062503ce5fb91af28186 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Fri, 5 Jun 2009 22:42:47 +0000 Subject: Have tap listeners specify whether the "packet" routine requires a protocol tree; the column values. This includes stats-tree listeners. Have the routines to build the packet list, and to retap packets, honor those requirements. This means that cf_retap_packets() no longer needs an argument to specify whether to construct the column values or not, so get rid of that argument. This also means that there's no need for a tap to have a fake filter to ensure that the protocol tree will be built, so don't set up a fake "frame" filter. While we're at it, clean up some cases where "no filter" was represented as a null string rather than a null pointer. Have a routine to return an indication of the number of tap listeners with filters; use that rather than the global num_tap_filters. Clean up some indentation and some gboolean vs. gint items. svn path=/trunk/; revision=28645 --- epan/stats_tree.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'epan/stats_tree.h') diff --git a/epan/stats_tree.h b/epan/stats_tree.h index 66a0c556cd..fcbc9025dd 100644 --- a/epan/stats_tree.h +++ b/epan/stats_tree.h @@ -53,6 +53,7 @@ typedef void (*stat_tree_cleanup_cb)(stats_tree*); /* registers a new stats tree with default group REGISTER_STAT_GROUP_UNSORTED * abbr: protocol abbr * name: protocol display name + * flags: tap listener flags for per-packet callback * packet: per packet callback * init: tree initialization callback * cleanup: cleanup callback @@ -60,6 +61,7 @@ typedef void (*stat_tree_cleanup_cb)(stats_tree*); extern void stats_tree_register(const gchar *tapname, const gchar *abbr, const gchar *name, + guint flags, stat_tree_packet_cb packet, stat_tree_init_cb init, stat_tree_cleanup_cb cleanup); @@ -67,6 +69,7 @@ extern void stats_tree_register(const gchar *tapname, /* registers a new stats tree * abbr: protocol abbr * name: protocol display name + * flags: tap listener flags for per-packet callback * packet: per packet callback * init: tree initialization callback * cleanup: cleanup callback @@ -75,10 +78,11 @@ extern void stats_tree_register(const gchar *tapname, extern void stats_tree_register_with_group(const gchar *tapname, const gchar *abbr, const gchar *name, + guint flags, stat_tree_packet_cb packet, stat_tree_init_cb init, stat_tree_cleanup_cb cleanup, - register_stat_group_t stat_group); + register_stat_group_t stat_group); extern int stats_tree_parent_id_by_name(stats_tree *st, const gchar *parent_name); -- cgit v1.2.1