The patch code originally authored by Michal Privoznik, Please refer to
https://www.redhat.com/archives/libvir-list/2018-May/msg01022.html
Signed-off-by: Lin Ma <lma@suse.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
#include "virsh.h"
#include "virsh-pool.h"
#include "virsh-util.h"
+#include "virsh-secret.h"
#include "internal.h"
#include "virutil.h"
#include "viralloc.h"
VIR_FREE(ret);
goto cleanup;
}
+
+
+char **
+virshSecretEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
+ const vshCmd *cmd ATTRIBUTE_UNUSED,
+ unsigned int flags)
+{
+ size_t i;
+ char **ret = NULL;
+
+ virCheckFlags(0, NULL);
+
+ if (VIR_ALLOC_N(ret, VIR_SECRET_EVENT_ID_LAST) < 0)
+ goto error;
+
+ for (i = 0; i < VIR_SECRET_EVENT_ID_LAST; i++) {
+ if (VIR_STRDUP(ret[i], virshSecretEventCallbacks[i].name) < 0)
+ goto error;
+ }
+
+ return ret;
+
+ error:
+ virStringListFree(ret);
+ return NULL;
+}
const vshCmd *cmd,
unsigned int flags);
+char ** virshSecretEventNameCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ unsigned int flags);
+
#endif
},
{.name = "event",
.type = VSH_OT_STRING,
+ .completer = virshSecretEventNameCompleter,
.help = N_("which event type to wait for")
},
{.name = "loop",