diff --git a/client/main.c b/client/main.c
index e0336a1..76e337c 100644
--- a/client/main.c
+++ b/client/main.c
dbus_int16_t pathloss;
char **uuids;
size_t uuids_len;
+ dbus_bool_t reset;
};
static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
dict_append_entry(&dict, "Transport", DBUS_TYPE_STRING,
&args->transport);
+ if (args->reset)
+ dict_append_entry(&dict, "ResetData", DBUS_TYPE_BOOLEAN,
+ &args->reset);
+
dbus_message_iter_close_container(iter, &dict);
}
static char **filtered_scan_uuids;
static size_t filtered_scan_uuids_len;
static char *filtered_scan_transport;
+static bool filtered_scan_reset_data;
static void cmd_set_scan_filter_commit(void)
{
args.transport = filtered_scan_transport;
args.uuids = filtered_scan_uuids;
args.uuids_len = filtered_scan_uuids_len;
+ args.reset = filtered_scan_reset_data;
if (check_default_ctrl() == FALSE)
return;
cmd_set_scan_filter_commit();
}
+static void cmd_set_scan_filter_reset_data(const char *arg)
+{
+ if (!arg || !strlen(arg))
+ filtered_scan_reset_data = false;
+ else if (!strcmp(arg, "on"))
+ filtered_scan_reset_data = true;
+ else if (!strcmp(arg, "off"))
+ filtered_scan_reset_data = false;
+ else {
+ rl_printf("Invalid option: %s\n", arg);
+ return;
+ }
+
+ cmd_set_scan_filter_commit();
+}
+
static void clear_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
{
DBusMessageIter dict;
"Set scan filter pathloss, and clears rssi" },
{ "set-scan-filter-transport", "[transport]",
cmd_set_scan_filter_transport, "Set scan filter transport" },
+ { "set-scan-filter-reset-data", "[on/off]",
+ cmd_set_scan_filter_reset_data, "Set scan filter reset data" },
{ "set-scan-filter-clear", "", cmd_set_scan_filter_clear,
"Clears discovery filter." },
{ "scan", "<on/off>", cmd_scan, "Scan for devices" },