summaryrefslogtreecommitdiff
path: root/ui/gtk/decode_as_dlg.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-02-21 22:00:32 +0000
committerMichael Mann <mmann78@netscape.net>2013-02-21 22:00:32 +0000
commite094c213016f483a3d02deccd49cebc5f0e9797d (patch)
tree98f63fb2617ceba41113c92b693089e71cd9809c /ui/gtk/decode_as_dlg.c
parentbfeeba6f5e9ae0994842992c04670247c71bd879 (diff)
downloadwireshark-e094c213016f483a3d02deccd49cebc5f0e9797d.tar.gz
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.c16
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) */