diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-02-13 13:37:50 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-02-14 14:48:55 +0200 |
commit | a1d9f111f39d5a39b618bbeeaf3553b92fda2008 (patch) | |
tree | f6c5d9d6eba46ebe4c97ad4e92cc7b7163c012c7 /client/session.c | |
parent | 5d897083917c226f68a3db5651cebccd5453924c (diff) | |
download | obexd-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.c | 12 |
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; |