From b70a3a580ee4d83ce76a92c569683a7ff0f424cb Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 27 Jul 2018 11:01:04 +0300 Subject: [PATCH] agent: Make the first agent to register the default This simplifies the handling of default agent and enforce the IO capabilities to be set whenever there is an agent available in the system. Change-Id: I23b3fe9031d2d61ec2adeabf21af5d7a0f721a77 Signed-off-by: himanshu --- src/agent.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/agent.c b/src/agent.c index ff44d57..183e2f1 100755 --- a/src/agent.c +++ b/src/agent.c @@ -50,13 +50,6 @@ #include "agent.h" #include "shared/queue.h" -#define IO_CAPABILITY_DISPLAYONLY 0x00 -#define IO_CAPABILITY_DISPLAYYESNO 0x01 -#define IO_CAPABILITY_KEYBOARDONLY 0x02 -#define IO_CAPABILITY_NOINPUTNOOUTPUT 0x03 -#define IO_CAPABILITY_KEYBOARDDISPLAY 0x04 -#define IO_CAPABILITY_INVALID 0xFF - #define REQUEST_TIMEOUT (60 * 1000) /* 60 seconds */ #define AGENT_INTERFACE "org.bluez.Agent1" @@ -150,7 +143,7 @@ static void set_io_cap(struct btd_adapter *adapter, gpointer user_data) if (agent) io_cap = agent->capability; else - io_cap = IO_CAPABILITY_NOINPUTNOOUTPUT; + io_cap = IO_CAPABILITY_INVALID; adapter_set_io_capability(adapter, io_cap); } @@ -294,6 +287,11 @@ static struct agent *agent_create( const char *name, const char *path, name, agent_disconnect, agent, NULL); + if (queue_isempty(default_agents)) + add_default_agent(agent); + else + queue_push_tail(default_agents, agent); + return agent_ref(agent); } -- 2.7.4