diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-03-10 22:42:43 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-03-10 22:42:43 +0000 |
commit | 58cd08132eb4ac3a7ff12bc086e41320c4fed83a (patch) | |
tree | 62bcdbe647dce8c6eba1dedd2dbcb4f4c5824810 | |
parent | 29dd9dff307c631de59271a52c214e48e80e0766 (diff) |
Implement the send_reply_and_unref() function
-rw-r--r-- | hcid/dbus-adapter.c | 20 | ||||
-rw-r--r-- | hcid/dbus.h | 8 |
2 files changed, 8 insertions, 20 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c index 2da2ae78..9919a349 100644 --- a/hcid/dbus-adapter.c +++ b/hcid/dbus-adapter.c @@ -1351,7 +1351,6 @@ DBusHandlerResult msg_func_device(DBusConnection *conn, DBusMessage *msg, void * service_handler_func_t handler; struct hci_dbus_data *dbus_data = data; const char *iface; - uint32_t err = 0; iface = dbus_message_get_interface(msg); @@ -1360,8 +1359,7 @@ DBusHandlerResult msg_func_device(DBusConnection *conn, DBusMessage *msg, void * if (dbus_data->path_id == ADAPTER_ROOT_ID) { /* Adapter is down(path unregistered) or the path is wrong */ - err = BLUEZ_EDBUS_UNKNOWN_PATH; - goto failed; + return bluez_new_failure_msg(conn, msg, BLUEZ_EDBUS_UNKNOWN_PATH); } handler = find_service_handler(dev_services, msg); @@ -1369,20 +1367,4 @@ DBusHandlerResult msg_func_device(DBusConnection *conn, DBusMessage *msg, void * return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; return handler(conn, msg, data); - -failed: -#if 0 - if (err) { - DBusMessage *reply = bluez_new_failure_msg(msg, err); - - if (reply) { - if (!dbus_connection_send(conn, reply, NULL)) - error("Can't send reply message"); - - dbus_message_unref(reply); - } - } -#endif - - return bluez_new_failure_msg(conn, msg, err); } diff --git a/hcid/dbus.h b/hcid/dbus.h index fb6f322a..767c9b3c 100644 --- a/hcid/dbus.h +++ b/hcid/dbus.h @@ -127,8 +127,14 @@ DBusHandlerResult handle_security_method(DBusConnection *conn, DBusMessage *msg, service_handler_func_t find_service_handler(struct service_data *services, DBusMessage *msg); -static inline DBusHandlerResult send_reply_and_unref(DBusConnection *conn, DBusMessage *msg) +static inline DBusHandlerResult send_reply_and_unref(DBusConnection *conn, DBusMessage *reply) { + if (reply) { + dbus_connection_send(conn, reply, NULL); + + dbus_message_unref(reply); + } + return DBUS_HANDLER_RESULT_HANDLED; } |