diff options
author | Michael Mann <mmann78@netscape.net> | 2013-02-21 22:00:32 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-02-21 22:00:32 +0000 |
commit | e094c213016f483a3d02deccd49cebc5f0e9797d (patch) | |
tree | 98f63fb2617ceba41113c92b693089e71cd9809c /ui/gtk/decode_as_dlg.c | |
parent | bfeeba6f5e9ae0994842992c04670247c71bd879 (diff) |
Minor Bluetooth fixes
1. Allow to DecodeBy payload over AVCTP
2. Fix L2CAP CID payload recognize after disc
3. Removed unneeded _U_
4. Fall back to control channel in AVRCP
5. Fix time-tracking for passthrough and capability AVRCP commands
From Michal Labedzki, bug 8367 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8367)
svn path=/trunk/; revision=47810
Diffstat (limited to 'ui/gtk/decode_as_dlg.c')
-rw-r--r-- | ui/gtk/decode_as_dlg.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ui/gtk/decode_as_dlg.c b/ui/gtk/decode_as_dlg.c index ca2d085232..29b3417d04 100644 --- a/ui/gtk/decode_as_dlg.c +++ b/ui/gtk/decode_as_dlg.c @@ -2021,6 +2021,7 @@ decode_add_notebook (GtkWidget *format_hb) gint page_l2cap_psm = -1; gint page_rfcomm_channel = -1; gint page_rfcomm_service = -1; + gint page_avctp_service = -1; header_field_info *hfinfo; GPtrArray *ga; guint i; @@ -2028,6 +2029,7 @@ decode_add_notebook (GtkWidget *format_hb) const gchar *cid = NULL; const gchar *psm = NULL; const gchar *channel = NULL; + const gchar *pid = NULL; gboolean have_rfcomm = FALSE; ga = proto_all_finfos(cfile.edt->tree); @@ -2042,6 +2044,8 @@ decode_add_notebook (GtkWidget *format_hb) psm = get_node_field_value(v, cfile.edt); } else if (g_strcmp0(hfinfo->abbrev, "btrfcomm.channel") == 0) { channel = get_node_field_value(v, cfile.edt); + } else if (g_strcmp0(hfinfo->abbrev, "btavctp.pid") == 0) { + pid = get_node_field_value(v, cfile.edt); } if (have_rfcomm == FALSE && g_str_has_prefix(hfinfo->abbrev, "btrfcommm")) { @@ -2081,12 +2085,20 @@ decode_add_notebook (GtkWidget *format_hb) page_rfcomm_service = gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, label); } + page = decode_add_bluetooth_page("AVCTP SERVICE", "btavctp.service", pid); + if (page != NULL) { + label = gtk_label_new("AVCTP SERVICE"); + page_avctp_service = gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, label); + } + page = NULL; /* Notebook must be visible for set_page to work. */ gtk_widget_show_all(notebook); - if (channel) + if (pid) + gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_avctp_service); + else if (channel) gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_rfcomm_channel); else if (psm) gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_l2cap_psm); @@ -2094,7 +2106,7 @@ decode_add_notebook (GtkWidget *format_hb) gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_l2cap_cid); else if (have_rfcomm) gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_rfcomm_service); - else + else gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page_l2cap_service); } else { /* Select the last added page (selects first by default) */ |