diff options
-rw-r--r-- | gobex/gobex.c | 9 | ||||
-rw-r--r-- | gobex/gobex.h | 4 | ||||
-rw-r--r-- | tools/test-server.c | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/gobex/gobex.c b/gobex/gobex.c index 8cd7f17..e72dc41 100644 --- a/gobex/gobex.c +++ b/gobex/gobex.c @@ -482,6 +482,15 @@ immediate_completion: return TRUE; } +gboolean g_obex_send_rsp(GObex *obex, guint8 rspcode, GError **err) +{ + GObexPacket *rsp; + + rsp = g_obex_packet_new(rspcode, TRUE, G_OBEX_HDR_INVALID); + + return g_obex_send(obex, rsp, err); +} + void g_obex_set_disconnect_function(GObex *obex, GObexFunc func, gpointer user_data) { diff --git a/gobex/gobex.h b/gobex/gobex.h index cfe9235..cec57c2 100644 --- a/gobex/gobex.h +++ b/gobex/gobex.h @@ -48,6 +48,8 @@ guint g_obex_send_req(GObex *obex, GObexPacket *req, gint timeout, gboolean g_obex_cancel_req(GObex *obex, guint req_id, gboolean remove_callback); +gboolean g_obex_send_rsp(GObex *obex, guint8 rspcode, GError **err); + void g_obex_set_disconnect_function(GObex *obex, GObexFunc func, gpointer user_data); gint g_obex_add_request_function(GObex *obex, guint8 opcode, @@ -64,7 +66,7 @@ GObex *g_obex_new(GIOChannel *io, GObexTransportType transport_type, GObex *g_obex_ref(GObex *obex); void g_obex_unref(GObex *obex); -/* Higher level functions */ +/* High level client functions */ guint g_obex_connect(GObex *obex, GObexResponseFunc func, gpointer user_data, GError **err, guint8 first_hdr_id, ...); diff --git a/tools/test-server.c b/tools/test-server.c index 314df93..2e80a1b 100644 --- a/tools/test-server.c +++ b/tools/test-server.c @@ -128,6 +128,7 @@ static void handle_put(GObex *obex, GObexPacket *req, gpointer user_data) if (data->fd < 0) { g_printerr("open(%s): %s\n", name, strerror(errno)); g_free(data); + g_obex_send_rsp(obex, G_OBEX_RSP_FORBIDDEN, NULL); return; } @@ -181,6 +182,7 @@ static void handle_get(GObex *obex, GObexPacket *req, gpointer user_data) if (data->fd < 0) { g_printerr("open(%s): %s", name, strerror(errno)); g_free(data); + g_obex_send_rsp(obex, G_OBEX_RSP_FORBIDDEN, NULL); return; } |