summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@gmail.com>2014-01-08 01:02:26 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2014-01-09 17:56:13 +0200
commit91ec552d90e2ca89288590f619374eacfe9e8000 (patch)
tree9ed45a1fb620b7aa7a501639ce5ef52e6994dc28 /client
parent8d2bdf4eef3940a5a732bb5c70b4ebaed707e993 (diff)
client: Add untrust command
Diffstat (limited to 'client')
-rw-r--r--client/main.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/client/main.c b/client/main.c
index ebc85c681..a6e7906d5 100644
--- a/client/main.c
+++ b/client/main.c
@@ -851,6 +851,35 @@ static void cmd_trust(const char *arg)
g_free(str);
}
+static void cmd_untrust(const char *arg)
+{
+ GDBusProxy *proxy;
+ dbus_bool_t trusted;
+ 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;
+ }
+
+ trusted = FALSE;
+
+ str = g_strdup_printf("%s untrust", arg);
+
+ if (g_dbus_proxy_set_property_basic(proxy, "Trusted",
+ DBUS_TYPE_BOOLEAN, &trusted,
+ generic_callback, str, g_free) == TRUE)
+ return;
+
+ g_free(str);
+}
+
static void remove_device_reply(DBusMessage *message, void *user_data)
{
DBusError error;
@@ -1088,6 +1117,8 @@ static const struct {
dev_generator },
{ "trust", "<dev>", cmd_trust, "Trust device",
dev_generator },
+ { "untrust", "<dev>", cmd_untrust, "Untrust device",
+ dev_generator },
{ "remove", "<dev>", cmd_remove, "Remove device",
dev_generator },
{ "connect", "<dev>", cmd_connect, "Connect device",