[libvirt] [PATCH 2/9] virsh-util: Move domain lookup helpers into virsh-util

Peter Krempa pkrempa at redhat.com
Tue Apr 11 15:53:48 UTC 2017


Move virshLookupDomainBy, virshCommandOptDomainBy and
virshCommandOptDomainBy to the helper file. Additionally turn the
virshCommandOptDomainBy macro into a function.
---
 po/POTFILES.in               |  1 +
 tools/virsh-domain-monitor.c |  1 -
 tools/virsh-domain.c         | 71 ------------------------------------
 tools/virsh-domain.h         | 12 -------
 tools/virsh-host.c           |  1 -
 tools/virsh-snapshot.c       |  2 +-
 tools/virsh-util.c           | 86 ++++++++++++++++++++++++++++++++++++++++++++
 tools/virsh-util.h           | 17 +++++++++
 8 files changed, 105 insertions(+), 86 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 064abd5bb..ccef6f3cf 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -310,6 +310,7 @@ tools/virsh-nwfilter.c
 tools/virsh-pool.c
 tools/virsh-secret.c
 tools/virsh-snapshot.c
+tools/virsh-util.c
 tools/virsh-volume.c
 tools/virsh.c
 tools/virt-admin.c
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 4ade5651c..5215ac6f9 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -37,7 +37,6 @@
 #include "intprops.h"
 #include "viralloc.h"
 #include "virmacaddr.h"
-#include "virsh-domain.h"
 #include "virxml.h"
 #include "virstring.h"

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 7db74fecf..4e4df5b4f 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -83,77 +83,6 @@
 #define VIRSH_COMMON_OPT_DOMAIN_CURRENT                   \
     VIRSH_COMMON_OPT_CURRENT(N_("affect current domain")) \

-static virDomainPtr
-virshLookupDomainInternal(vshControl *ctl,
-                          const char *cmdname,
-                          const char *name,
-                          unsigned int flags)
-{
-    virDomainPtr dom = NULL;
-    int id;
-    virCheckFlags(VIRSH_BYID | VIRSH_BYUUID | VIRSH_BYNAME, NULL);
-    virshControlPtr priv = ctl->privData;
-
-    /* try it by ID */
-    if (flags & VIRSH_BYID) {
-        if (virStrToLong_i(name, NULL, 10, &id) == 0 && id >= 0) {
-            vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> looks like ID\n",
-                     cmdname);
-            dom = virDomainLookupByID(priv->conn, id);
-        }
-    }
-
-    /* try it by UUID */
-    if (!dom && (flags & VIRSH_BYUUID) &&
-        strlen(name) == VIR_UUID_STRING_BUFLEN-1) {
-        vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> trying as domain UUID\n",
-                 cmdname);
-        dom = virDomainLookupByUUIDString(priv->conn, name);
-    }
-
-    /* try it by NAME */
-    if (!dom && (flags & VIRSH_BYNAME)) {
-        vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> trying as domain NAME\n",
-                 cmdname);
-        dom = virDomainLookupByName(priv->conn, name);
-    }
-
-    vshResetLibvirtError();
-
-    if (!dom)
-        vshError(ctl, _("failed to get domain '%s'"), name);
-
-    return dom;
-}
-
-
-virDomainPtr
-virshLookupDomainBy(vshControl *ctl,
-                    const char *name,
-                    unsigned int flags)
-{
-    return virshLookupDomainInternal(ctl, "unknown", name, flags);
-}
-
-
-virDomainPtr
-virshCommandOptDomainBy(vshControl *ctl, const vshCmd *cmd,
-                        const char **name, unsigned int flags)
-{
-    const char *n = NULL;
-    const char *optname = "domain";
-
-    if (vshCommandOptStringReq(ctl, cmd, optname, &n) < 0)
-        return NULL;
-
-    vshDebug(ctl, VSH_ERR_INFO, "%s: found option <%s>: %s\n",
-             cmd->def->name, optname, n);
-
-    if (name)
-        *name = n;
-
-    return virshLookupDomainInternal(ctl, cmd->def->name, n, flags);
-}

 static virDomainPtr
 virshDomainDefine(virConnectPtr conn, const char *xml, unsigned int flags)
diff --git a/tools/virsh-domain.h b/tools/virsh-domain.h
index 462f560f9..3f9d12a5f 100644
--- a/tools/virsh-domain.h
+++ b/tools/virsh-domain.h
@@ -28,18 +28,6 @@

 # include "virsh.h"

-virDomainPtr virshLookupDomainBy(vshControl *ctl,
-                                 const char *name,
-                                 unsigned int flags);
-
-virDomainPtr virshCommandOptDomainBy(vshControl *ctl, const vshCmd *cmd,
-                                     const char **name, unsigned int flags);
-
-/* default is lookup by Id, Name and UUID */
-# define virshCommandOptDomain(_ctl, _cmd, _name)                      \
-    virshCommandOptDomainBy(_ctl, _cmd, _name,                         \
-                            VIRSH_BYID | VIRSH_BYUUID | VIRSH_BYNAME)
-
 extern const vshCmdDef domManagementCmds[];

 #endif /* VIRSH_DOMAIN_H */
diff --git a/tools/virsh-host.c b/tools/virsh-host.c
index 3b86c75fa..5509065fd 100644
--- a/tools/virsh-host.c
+++ b/tools/virsh-host.c
@@ -35,7 +35,6 @@
 #include "virbitmap.h"
 #include "virbuffer.h"
 #include "viralloc.h"
-#include "virsh-domain.h"
 #include "virxml.h"
 #include "virtypedparam.h"
 #include "virstring.h"
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 5c844a5ea..46e2cbb24 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -37,7 +37,7 @@
 #include "virbuffer.h"
 #include "viralloc.h"
 #include "virfile.h"
-#include "virsh-domain.h"
+#include "virsh-util.h"
 #include "virstring.h"
 #include "virxml.h"
 #include "conf/snapshot_conf.h"
diff --git a/tools/virsh-util.c b/tools/virsh-util.c
index 98f16ff1a..5c99655fb 100644
--- a/tools/virsh-util.c
+++ b/tools/virsh-util.c
@@ -21,6 +21,92 @@
 #include "virsh-util.h"

 #include "virfile.h"
+#include "virstring.h"
+
+static virDomainPtr
+virshLookupDomainInternal(vshControl *ctl,
+                          const char *cmdname,
+                          const char *name,
+                          unsigned int flags)
+{
+    virDomainPtr dom = NULL;
+    int id;
+    virCheckFlags(VIRSH_BYID | VIRSH_BYUUID | VIRSH_BYNAME, NULL);
+    virshControlPtr priv = ctl->privData;
+
+    /* try it by ID */
+    if (flags & VIRSH_BYID) {
+        if (virStrToLong_i(name, NULL, 10, &id) == 0 && id >= 0) {
+            vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> looks like ID\n",
+                     cmdname);
+            dom = virDomainLookupByID(priv->conn, id);
+        }
+    }
+
+    /* try it by UUID */
+    if (!dom && (flags & VIRSH_BYUUID) &&
+        strlen(name) == VIR_UUID_STRING_BUFLEN-1) {
+        vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> trying as domain UUID\n",
+                 cmdname);
+        dom = virDomainLookupByUUIDString(priv->conn, name);
+    }
+
+    /* try it by NAME */
+    if (!dom && (flags & VIRSH_BYNAME)) {
+        vshDebug(ctl, VSH_ERR_DEBUG, "%s: <domain> trying as domain NAME\n",
+                 cmdname);
+        dom = virDomainLookupByName(priv->conn, name);
+    }
+
+    vshResetLibvirtError();
+
+    if (!dom)
+        vshError(ctl, _("failed to get domain '%s'"), name);
+
+    return dom;
+}
+
+
+virDomainPtr
+virshLookupDomainBy(vshControl *ctl,
+                    const char *name,
+                    unsigned int flags)
+{
+    return virshLookupDomainInternal(ctl, "unknown", name, flags);
+}
+
+
+virDomainPtr
+virshCommandOptDomainBy(vshControl *ctl,
+                        const vshCmd *cmd,
+                        const char **name,
+                        unsigned int flags)
+{
+    const char *n = NULL;
+    const char *optname = "domain";
+
+    if (vshCommandOptStringReq(ctl, cmd, optname, &n) < 0)
+        return NULL;
+
+    vshDebug(ctl, VSH_ERR_INFO, "%s: found option <%s>: %s\n",
+             cmd->def->name, optname, n);
+
+    if (name)
+        *name = n;
+
+    return virshLookupDomainInternal(ctl, cmd->def->name, n, flags);
+}
+
+
+virDomainPtr
+virshCommandOptDomain(vshControl *ctl,
+                      const vshCmd *cmd,
+                      const char **name)
+{
+    return virshCommandOptDomainBy(ctl, cmd, name,
+                                   VIRSH_BYID | VIRSH_BYUUID | VIRSH_BYNAME);
+}
+

 int
 virshDomainState(vshControl *ctl,
diff --git a/tools/virsh-util.h b/tools/virsh-util.h
index 207d57859..132bf0b4b 100644
--- a/tools/virsh-util.h
+++ b/tools/virsh-util.h
@@ -21,6 +21,23 @@

 # include "virsh.h"

+
+virDomainPtr
+virshLookupDomainBy(vshControl *ctl,
+                    const char *name,
+                    unsigned int flags);
+
+virDomainPtr
+virshCommandOptDomainBy(vshControl *ctl,
+                        const vshCmd *cmd,
+                        const char **name,
+                        unsigned int flags);
+
+virDomainPtr
+virshCommandOptDomain(vshControl *ctl,
+                      const vshCmd *cmd,
+                      const char **name);
+
 int
 virshDomainState(vshControl *ctl,
                  virDomainPtr dom,
-- 
2.12.2




More information about the libvir-list mailing list