diff --git a/client/main.c b/client/main.c
index a6e7906..9f9231a 100644
--- a/client/main.c
+++ b/client/main.c
g_free(str);
}
+static void cmd_block(const char *arg)
+{
+ GDBusProxy *proxy;
+ dbus_bool_t blocked;
+ char *str;
+
+ if (!arg || !strlen(arg)) {
+ rl_printf("Missing device address argument\n");
+ return;
+ }
+
+ proxy = find_proxy_by_address(dev_list, arg);
+ if (!proxy) {
+ rl_printf("Device %s not available\n", arg);
+ return;
+ }
+
+ blocked = TRUE;
+
+ str = g_strdup_printf("%s block", arg);
+
+ if (g_dbus_proxy_set_property_basic(proxy, "Blocked",
+ DBUS_TYPE_BOOLEAN, &blocked,
+ generic_callback, str, g_free) == TRUE)
+ return;
+
+ g_free(str);
+}
+
static void remove_device_reply(DBusMessage *message, void *user_data)
{
DBusError error;
dev_generator },
{ "untrust", "<dev>", cmd_untrust, "Untrust device",
dev_generator },
+ { "block", "<dev>", cmd_block, "Block device",
+ dev_generator },
{ "remove", "<dev>", cmd_remove, "Remove device",
dev_generator },
{ "connect", "<dev>", cmd_connect, "Connect device",