[PATCH v3 3/3] client: Add RemoveKnownService client implementation
Roman Smrž <[email protected]> Thu, 26 Jun 2025 09:27:46 +0200
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
From: Michael Trimarchi <[email protected]> Add a way to test the remove network feature --- client/commands.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/client/commands.c b/client/commands.c index f4366e8c..14dc47e2 100644 --- a/client/commands.c +++ b/client/commands.c @@ -432,6 +432,47 @@ static int cmd_known_services(char *args[], int num, struct connman_option *opti services_list, NULL, NULL, NULL); } +static int remove_known_service_return(DBusMessageIter *iter, int errnum, + const char *error, void *user_data) +{ + char *name = user_data; + + if (!error) + fprintf(stdout, "Removed %s\n", name); + else + fprintf(stderr, "Error %s: %s\n", name, error); + + g_free(user_data); + + return 0; +} + +static void remove_known_service_append_data(DBusMessageIter *iter, void *user_data) +{ + const char *data = user_data; + + dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &data); +} + +static int cmd_remove_known_service(char *args[], int num, struct connman_option *options) +{ + char *data; + + if (num > 2) + return -E2BIG; + + if (num < 2) + return -EINVAL; + + data = g_strdup_printf("%s", args[1]); + + return __connmanctl_dbus_method_call(connection, + CONNMAN_SERVICE, CONNMAN_PATH, + "net.connman.Manager", + "RemoveKnownService", + remove_known_service_return, data, remove_known_service_append_data, data); +} + static int cmd_peers(char *args[], int num, struct connman_option *options) { char *peer_name = NULL; @@ -2822,6 +2863,8 @@ static const struct { "Display services", lookup_service_arg }, { "known-services", NULL, NULL, cmd_known_services, "Display known services", NULL }, + { "remove-known-service", "[<service>]", NULL, + cmd_remove_known_service, "Remove known service", NULL }, { "peers", "[peer]", NULL, cmd_peers, "Display peers", lookup_peer_arg }, { "scan", "<technology>", NULL, cmd_scan, -- 2.49.0