diff options
author | Gerald Combs <gerald@wireshark.org> | 2014-11-18 16:21:42 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2014-12-09 21:25:33 +0000 |
commit | 4921e559906aee70c4665f1c739057e227787e01 (patch) | |
tree | 4465cb9e9de152bfb57f00852e437994e2d85cd9 /ui/tap-sequence-analysis.c | |
parent | 3147087de323c0294b51006f97b641fc408f1b06 (diff) | |
download | wireshark-4921e559906aee70c4665f1c739057e227787e01.tar.gz |
Qt: Initial VoIP Calls dialog.
Add Telephony menu items for VoIP Calls and SIP Flows. Put VoIP Calls at
the top, since that seems to be the primary item.
Add configure-time checks for QtMultimediaWidgets in anticipation of
adding a VoIP playback dialog.
Add an icon for the playback button. (Yes, I've been avoiding
GNOME-level gratuitous icons so far but this is one of the rare
occiasions where it makes sense.)
Add a help link define for the VoIP calls dialog.
Change-Id: I5d0799685c598ad9af76fe9667f8ea7d14b66050
Reviewed-on: https://code.wireshark.org/review/5674
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/tap-sequence-analysis.c')
-rw-r--r-- | ui/tap-sequence-analysis.c | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/ui/tap-sequence-analysis.c b/ui/tap-sequence-analysis.c index abaf6f19b1..a30ee53eda 100644 --- a/ui/tap-sequence-analysis.c +++ b/ui/tap-sequence-analysis.c @@ -256,8 +256,6 @@ sequence_analysis_list_get(capture_file *cf, seq_analysis_info_t *sainfo) case SEQ_ANALYSIS_VOIP: default: return; - break; - } cf_retap_packets(cf); @@ -278,6 +276,31 @@ static void sequence_analysis_item_free(gpointer data) g_free(data); } + +/* compare two list entries by packet no */ +static gint +sequence_analysis_sort_compare(gconstpointer a, gconstpointer b, gpointer user_data _U_) +{ + const seq_analysis_item_t *entry_a = (const seq_analysis_item_t *)a; + const seq_analysis_item_t *entry_b = (const seq_analysis_item_t *)b; + + if(entry_a->fd->num < entry_b->fd->num) + return -1; + + if(entry_a->fd->num > entry_b->fd->num) + return 1; + + return 0; +} + + +void +sequence_analysis_list_sort(seq_analysis_info_t *sainfo) +{ + if (!sainfo) return; + g_queue_sort(sainfo->items, sequence_analysis_sort_compare, NULL); +} + void sequence_analysis_list_free(seq_analysis_info_t *sainfo) { @@ -380,7 +403,7 @@ static void overwrite (GString *gstr, char *text_to_insert, guint32 p1, guint32 * and Return -2 if the array is full */ /****************************************************************************/ -static gint add_or_get_node(seq_analysis_info_t *sainfo, address *node) { +static guint add_or_get_node(seq_analysis_info_t *sainfo, address *node) { guint i; if (node->type == AT_NONE) return NODE_OVERFLOW; @@ -409,8 +432,8 @@ static void sequence_analysis_get_nodes_item_proc(gpointer data, gpointer user_d struct sainfo_counter *sc = (struct sainfo_counter *)user_data; if (gai->display) { (sc->num_items)++; - gai->src_node = (guint16)add_or_get_node(sc->sainfo, &(gai->src_addr)); - gai->dst_node = (guint16)add_or_get_node(sc->sainfo, &(gai->dst_addr)); + gai->src_node = add_or_get_node(sc->sainfo, &(gai->src_addr)); + gai->dst_node = add_or_get_node(sc->sainfo, &(gai->dst_addr)); } } |