]> xenbits.xensource.com Git - libvirt.git/commitdiff
storage_conf: Adjust virStoragePoolAuthType enum
authorJohn Ferlan <jferlan@redhat.com>
Sat, 13 Jul 2013 18:14:00 +0000 (14:14 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Mon, 15 Jul 2013 16:41:12 +0000 (12:41 -0400)
Generate and use the virStoragePoolAuthTypeType{To|From}String helpers

src/conf/storage_conf.c
src/conf/storage_conf.h

index 524a4d6b7b8ad5b42dc78682790c77f206ce002f..9bcfcedbfdeba18c5e012890c9f94adb11a2be0b 100644 (file)
@@ -95,6 +95,10 @@ VIR_ENUM_IMPL(virStoragePoolSourceAdapterType,
               VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_LAST,
               "default", "scsi_host", "fc_host")
 
+VIR_ENUM_IMPL(virStoragePoolAuthType,
+              VIR_STORAGE_POOL_AUTH_LAST,
+              "none", "chap", "ceph")
+
 typedef const char *(*virStorageVolFormatToString)(int format);
 typedef int (*virStorageVolFormatFromString)(const char *format);
 typedef const char *(*virStorageVolFeatureToString)(int feature);
@@ -676,11 +680,8 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
     if (authType == NULL) {
         source->authType = VIR_STORAGE_POOL_AUTH_NONE;
     } else {
-        if (STREQ(authType, "chap")) {
-            source->authType = VIR_STORAGE_POOL_AUTH_CHAP;
-        } else if (STREQ(authType, "ceph")) {
-            source->authType = VIR_STORAGE_POOL_AUTH_CEPHX;
-        } else {
+        if ((source->authType =
+             virStoragePoolAuthTypeTypeFromString(authType)) < 0) {
             virReportError(VIR_ERR_XML_ERROR,
                            _("unknown auth type '%s'"),
                            authType);
@@ -1117,13 +1118,15 @@ virStoragePoolSourceFormat(virBufferPtr buf,
     }
 
     if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP)
-        virBufferAsprintf(buf,"    <auth type='chap' login='%s' passwd='%s'/>\n",
+        virBufferAsprintf(buf,"    <auth type='%s' login='%s' passwd='%s'/>\n",
+                          virStoragePoolAuthTypeTypeToString(src->authType),
                           src->auth.chap.login,
                           src->auth.chap.passwd);
 
     if (src->authType == VIR_STORAGE_POOL_AUTH_CEPHX) {
-        virBufferAsprintf(buf,"    <auth username='%s' type='ceph'>\n",
-                          src->auth.cephx.username);
+        virBufferAsprintf(buf,"    <auth username='%s' type='%s'>\n",
+                          src->auth.cephx.username,
+                          virStoragePoolAuthTypeTypeToString(src->authType));
 
         virBufferAddLit(buf,"      <secret");
         if (src->auth.cephx.secret.uuidUsable) {
index c183427b71e59101277d2ac18b54277399c7863a..98339ef973c38709439441bf325faa096cbb104d 100644 (file)
@@ -146,7 +146,10 @@ enum virStoragePoolAuthType {
     VIR_STORAGE_POOL_AUTH_NONE,
     VIR_STORAGE_POOL_AUTH_CHAP,
     VIR_STORAGE_POOL_AUTH_CEPHX,
+
+    VIR_STORAGE_POOL_AUTH_LAST,
 };
+VIR_ENUM_DECL(virStoragePoolAuthType)
 
 typedef struct _virStoragePoolAuthChap virStoragePoolAuthChap;
 typedef virStoragePoolAuthChap *virStoragePoolAuthChapPtr;