diff --git a/client/agent.c b/client/agent.c
index 2fe203f..b0ac2f8 100644
--- a/client/agent.c
+++ b/client/agent.c
return;
}
}
+
+static void request_default_setup(DBusMessageIter *iter, void *user_data)
+{
+ const char *path = AGENT_PATH;
+
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path);
+}
+
+static void request_default_reply(DBusMessage *message, void *user_data)
+{
+ DBusError error;
+
+ dbus_error_init(&error);
+
+ if (dbus_set_error_from_message(&error, message) == TRUE) {
+ rl_printf("Failed to request default agent: %s\n", error.name);
+ dbus_error_free(&error);
+ return;
+ }
+
+ rl_printf("Default agent request successful\n");
+}
+
+void agent_default(DBusConnection *conn, GDBusProxy *manager)
+{
+ if (agent_registered == FALSE) {
+ rl_printf("No agent is registered\n");
+ return;
+ }
+
+ if (g_dbus_proxy_method_call(manager, "RequestDefaultAgent",
+ request_default_setup,
+ request_default_reply,
+ NULL, NULL) == FALSE) {
+ rl_printf("Failed to call request default agent method\n");
+ return;
+ }
+}
diff --git a/client/agent.h b/client/agent.h
index c86d0d5..0fbe8e5 100644
--- a/client/agent.h
+++ b/client/agent.h
void agent_register(DBusConnection *conn, GDBusProxy *manager,
const char *capability);
void agent_unregister(DBusConnection *conn, GDBusProxy *manager);
+void agent_default(DBusConnection *conn, GDBusProxy *manager);
dbus_bool_t agent_completion(void);
dbus_bool_t agent_input(DBusConnection *conn, const char *input);
diff --git a/client/main.c b/client/main.c
index de3b203..a6782da 100644
--- a/client/main.c
+++ b/client/main.c
}
}
+static void cmd_default_agent(const char *arg)
+{
+ agent_default(dbus_conn, agent_manager);
+}
+
static void start_discovery_reply(DBusMessage *message, void *user_data)
{
dbus_bool_t enable = GPOINTER_TO_UINT(user_data);
{ "discoverable", "<on/off>", cmd_discoverable,
"Set controller discoverable mode" },
{ "agent", "<on/off>", cmd_agent, "Enable/disable agent" },
+ { "default-agent",NULL, cmd_default_agent },
{ "scan", "<on/off>", cmd_scan, "Scan for devices" },
{ "pair", "<dev>", cmd_pair, "Pair with device",
dev_generator },