diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-02-13 13:37:47 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-02-14 14:47:56 +0200 |
commit | a734c52c62cd39a0b1dd3ae7e723773eb0a7a29e (patch) | |
tree | 39a469e2c100704a94e6b5b6faaf01505ea392be /src | |
parent | 7e588df737ffb151d7b71a2c8b5c1738b503d812 (diff) | |
download | obexd-a734c52c62cd39a0b1dd3ae7e723773eb0a7a29e.tar.gz |
bluetooth: Add support for L2CAP transport
This uses driver port, if set (!= 0), as psm and export it in the service
record.
Diffstat (limited to 'src')
-rw-r--r-- | src/obex-priv.h | 2 | ||||
-rw-r--r-- | src/obex.c | 7 | ||||
-rw-r--r-- | src/server.c | 5 | ||||
-rw-r--r-- | src/server.h | 3 |
4 files changed, 11 insertions, 6 deletions
diff --git a/src/obex-priv.h b/src/obex-priv.h index ee03bf4..5b72942 100644 --- a/src/obex-priv.h +++ b/src/obex-priv.h @@ -53,4 +53,4 @@ struct obex_session { }; int obex_session_start(GIOChannel *io, uint16_t tx_mtu, uint16_t rx_mtu, - struct obex_server *server); + gboolean stream, struct obex_server *server); @@ -1119,10 +1119,11 @@ static void disconn_func(GObex *obex, GError *err, gpointer user_data) } int obex_session_start(GIOChannel *io, uint16_t tx_mtu, uint16_t rx_mtu, - struct obex_server *server) + gboolean stream, struct obex_server *server) { struct obex_session *os; GObex *obex; + GObexTransportType type; static uint32_t id = 0; DBG(""); @@ -1135,7 +1136,9 @@ int obex_session_start(GIOChannel *io, uint16_t tx_mtu, uint16_t rx_mtu, os->server = server; os->size = OBJECT_SIZE_DELETE; - obex = g_obex_new(io, G_OBEX_TRANSPORT_STREAM, rx_mtu, tx_mtu); + type = stream ? G_OBEX_TRANSPORT_STREAM : G_OBEX_TRANSPORT_PACKET; + + obex = g_obex_new(io, type, rx_mtu, tx_mtu); if (!obex) { obex_session_free(os); return -EIO; diff --git a/src/server.c b/src/server.c index e5dc22d..52f7f1e 100644 --- a/src/server.c +++ b/src/server.c @@ -136,7 +136,8 @@ struct obex_service_driver *obex_server_find_driver( } int obex_server_new_connection(struct obex_server *server, GIOChannel *io, - uint16_t tx_mtu, uint16_t rx_mtu) + uint16_t tx_mtu, uint16_t rx_mtu, + gboolean stream) { - return obex_session_start(io, tx_mtu, rx_mtu, server); + return obex_session_start(io, tx_mtu, rx_mtu, stream, server); } diff --git a/src/server.h b/src/server.h index 81c0b5d..e211f1f 100644 --- a/src/server.h +++ b/src/server.h @@ -35,4 +35,5 @@ void obex_server_exit(void); struct obex_service_driver *obex_server_find_driver(struct obex_server *server, uint8_t channel); int obex_server_new_connection(struct obex_server *server, GIOChannel *io, - uint16_t tx_mtu, uint16_t rx_mtu); + uint16_t tx_mtu, uint16_t rx_mtu, + gboolean stream); |