]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: Add signal name completion to send-process-signal command
authorLin Ma <lma@suse.com>
Tue, 10 Nov 2020 09:51:02 +0000 (17:51 +0800)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 10 Nov 2020 17:34:29 +0000 (18:34 +0100)
Signed-off-by: Lin Ma <lma@suse.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tools/virsh-completer-domain.c
tools/virsh-completer-domain.h
tools/virsh-domain.c

index 4612a9e51d35cd08561fcbec3fc414c33d93eaf8..1d3499d5abe118e1ab04ea6ee36fad8ed70f5bfd 100644 (file)
@@ -715,3 +715,24 @@ virshDomainConsoleCompleter(vshControl *ctl,
 
     return g_steal_pointer(&tmp);
 }
+
+
+char **
+virshDomainSignalCompleter(vshControl *ctl G_GNUC_UNUSED,
+                           const vshCmd *cmd G_GNUC_UNUSED,
+                           unsigned int flags)
+{
+    VIR_AUTOSTRINGLIST tmp = NULL;
+    size_t i = 0;
+
+    virCheckFlags(0, NULL);
+
+    tmp = g_new0(char *, VIR_DOMAIN_PROCESS_SIGNAL_LAST + 1);
+
+    for (i = 0; i < VIR_DOMAIN_PROCESS_SIGNAL_LAST; i++) {
+        const char *name = virDomainProcessSignalTypeToString(i);
+        tmp[i] = g_strdup(name);
+    }
+
+    return g_steal_pointer(&tmp);
+}
index 02fea2fe94b55d230e42dea4386752c653fb1691..cdec66f23e03d1ade94f5dee2b55358025412678 100644 (file)
@@ -98,3 +98,7 @@ char ** virshDomainVcpulistViaAgentCompleter(vshControl *ctl,
 char ** virshDomainConsoleCompleter(vshControl *ctl,
                                     const vshCmd *cmd,
                                     unsigned int flags);
+
+char ** virshDomainSignalCompleter(vshControl *ctl,
+                                   const vshCmd *cmd,
+                                   unsigned int flags);
index 472b510a6b6070f76d6669adce7bf3c2573b775b..1406bb45830bd183eb10bc8b46ee79b3ba14e5bc 100644 (file)
@@ -8905,6 +8905,7 @@ static const vshCmdOptDef opts_send_process_signal[] = {
     {.name = "signame",
      .type = VSH_OT_DATA,
      .flags = VSH_OFLAG_REQ,
+     .completer = virshDomainSignalCompleter,
      .help = N_("the signal number or name")
     },
     {.name = NULL}