summaryrefslogtreecommitdiff
path: root/client/main.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2018-05-21 16:21:05 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2018-05-24 11:09:31 +0300
commit806276fe54faf7438a6e22959019621c5cd8b3cd (patch)
tree658cabecd4ebf44e83dc7b1d549b85fc8dea8743 /client/main.c
parent86ed237fc6197f9085b17923d6a631856638c94a (diff)
downloadbluez-806276fe54faf7438a6e22959019621c5cd8b3cd.tar.gz
client: Add advertise.discoverable-timeout command
This adds advertise.discoverable-timeout command which can be used to limit the amount of time the advertisement is discoverable: [bluetooth]# advertise.discoverable on [bluetooth]# advertise.discoverable-timeout 10 [bluetooth]# advertise on @ MGMT Command: Add Advertising (0x003e) plen 14 Instance: 1 Flags: 0x00000001 Switch into Connectable mode Duration: 0 Timeout: 0 Advertising data length: 3 Flags: 0x02 LE General Discoverable Mode Scan response length: 0 @ MGMT Event: Advertising Added (0x0023) plen 1 Instance: 1 @ MGMT Event: Command Complete (0x0001) plen 4 Add Advertising (0x003e) plen 1 Status: Success (0x00) Instance: 1 @ MGMT Command: Add Advertising (0x003e) plen 14 Instance: 1 Flags: 0x00000001 Switch into Connectable mode Duration: 0 Timeout: 0 Advertising data length: 3 Flags: 0x00 Scan response length: 0
Diffstat (limited to 'client/main.c')
-rw-r--r--client/main.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/client/main.c b/client/main.c
index 26ce94947..180f841ae 100644
--- a/client/main.c
+++ b/client/main.c
@@ -2228,6 +2228,25 @@ static void cmd_advertise_discoverable(int argc, char *argv[])
ad_advertise_discoverable(dbus_conn, &discoverable);
}
+static void cmd_advertise_discoverable_timeout(int argc, char *argv[])
+{
+ long int value;
+ char *endptr = NULL;
+
+ if (argc < 2) {
+ ad_advertise_discoverable_timeout(dbus_conn, NULL);
+ return;
+ }
+
+ value = strtol(argv[1], &endptr, 0);
+ if (!endptr || *endptr != '\0' || value > UINT16_MAX) {
+ bt_shell_printf("Invalid argument\n");
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+ }
+
+ ad_advertise_discoverable_timeout(dbus_conn, &value);
+}
+
static void cmd_advertise_tx_power(int argc, char *argv[])
{
dbus_bool_t powered;
@@ -2420,6 +2439,9 @@ static const struct bt_shell_menu advertise_menu = {
"Set/Get advertise data" },
{ "discoverable", "[on/off]", cmd_advertise_discoverable,
"Set/Get advertise discoverable" },
+ { "discoverable-timeout", "[seconds]",
+ cmd_advertise_discoverable_timeout,
+ "Set/Get advertise discoverable timeout" },
{ "tx-power", "[on/off]", cmd_advertise_tx_power,
"Show/Enable/Disable TX power to be advertised",
NULL },