summaryrefslogtreecommitdiff
path: root/client/session.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2012-02-13 13:37:50 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-14 14:48:55 +0200
commita1d9f111f39d5a39b618bbeeaf3553b92fda2008 (patch)
treef6c5d9d6eba46ebe4c97ad4e92cc7b7163c012c7 /client/session.c
parent5d897083917c226f68a3db5651cebccd5453924c (diff)
downloadobexd-a1d9f111f39d5a39b618bbeeaf3553b92fda2008.tar.gz
client: Add L2CAP support in bluetooth module
This adds support for reading GoepL2capPsm attribute from sdp record and connect to it.
Diffstat (limited to 'client/session.c')
-rw-r--r--client/session.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/client/session.c b/client/session.c
index 585e402..0fa8efc 100644
--- a/client/session.c
+++ b/client/session.c
@@ -257,7 +257,11 @@ static void transport_func(GIOChannel *io, GError *err, gpointer user_data)
struct callback_data *callback = user_data;
struct obc_session *session = callback->session;
struct obc_driver *driver = session->driver;
+ struct obc_transport *transport = session->transport;
GObex *obex;
+ GObexTransportType type;
+ int tx_mtu = -1;
+ int rx_mtu = -1;
DBG("");
@@ -268,7 +272,13 @@ static void transport_func(GIOChannel *io, GError *err, gpointer user_data)
g_io_channel_set_close_on_unref(io, FALSE);
- obex = g_obex_new(io, G_OBEX_TRANSPORT_STREAM, -1, -1);
+ if (transport->getpacketopt &&
+ transport->getpacketopt(io, &tx_mtu, &rx_mtu) == 0)
+ type = G_OBEX_TRANSPORT_PACKET;
+ else
+ type = G_OBEX_TRANSPORT_STREAM;
+
+ obex = g_obex_new(io, type, tx_mtu, rx_mtu);
if (obex == NULL)
goto done;