diff options
Diffstat (limited to 'hcid/dbus-common.c')
| -rw-r--r-- | hcid/dbus-common.c | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/hcid/dbus-common.c b/hcid/dbus-common.c index dd46ccd8..9b60b8dd 100644 --- a/hcid/dbus-common.c +++ b/hcid/dbus-common.c @@ -287,6 +287,30 @@ int name_listener_remove(DBusConnection *connection, const char *name,  	return 0;  } +static char simple_xml[] = DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "<node></node>"; + +DBusHandlerResult simple_introspect(DBusConnection *conn, DBusMessage *msg, void *data) +{ +	DBusMessage *reply; +	const char *path, *ptr = simple_xml; + +	path = dbus_message_get_path(msg); + +	info("Introspect path:%s", path); + +	if (!dbus_message_has_signature(msg, DBUS_TYPE_INVALID_AS_STRING)) +		return error_invalid_arguments(conn, msg); + +	reply = dbus_message_new_method_return(msg); +	if (!reply) +		return DBUS_HANDLER_RESULT_NEED_MEMORY; + +	dbus_message_append_args(reply, DBUS_TYPE_STRING, &ptr, +					DBUS_TYPE_INVALID); + +	return send_reply_and_unref(conn, reply); +} +  service_handler_func_t find_service_handler(struct service_data *handlers, DBusMessage *msg)  {  	struct service_data *current; | 
