diff options
| -rw-r--r-- | hcid/adapter.c | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/hcid/adapter.c b/hcid/adapter.c index 88cd6728..b6cfd269 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -3545,6 +3545,36 @@ static DBusHandlerResult find_device(DBusConnection *conn,  	return send_message_and_unref(conn, reply);  } +static DBusHandlerResult register_agent(DBusConnection *conn, +					DBusMessage *msg, void *data) +{ +	char *agent; + +	if (!hcid_dbus_use_experimental()) +		return error_unknown_method(conn, msg); + +	if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &agent, +						DBUS_TYPE_INVALID)) +		return error_invalid_arguments(conn, msg, NULL); + +	return DBUS_HANDLER_RESULT_HANDLED; +} + +static DBusHandlerResult unregister_agent(DBusConnection *conn, +					DBusMessage *msg, void *data) +{ +	char *agent; + +	if (!hcid_dbus_use_experimental()) +		return error_unknown_method(conn, msg); + +	if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &agent, +						DBUS_TYPE_INVALID)) +		return error_invalid_arguments(conn, msg, NULL); + +	return DBUS_HANDLER_RESULT_HANDLED; +} +  const char *major_class_str(uint32_t class)  {  	uint8_t index = (class >> 8) & 0x1F; @@ -3646,6 +3676,8 @@ static DBusMethodVTable adapter_methods[] = {  	{ "CreateDevice",	create_device,		"s",	"o"	},  	{ "RemoveDevice",	remove_device,		"o",	""	},  	{ "FindDevice",		find_device,		"s",	"o"	}, +	{ "RegisterAgent",	register_agent,		"o",	""	}, +	{ "UnregisterAgent",	unregister_agent,	"o",	""	},  	/* Deprecated */  	{ "GetInfo",				adapter_get_info,  		"",	"a{sv}"	}, | 
