From 26a84311448cc0632eb6e599e9ca31c43bd24875 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Sat, 13 Jul 2013 14:14:00 -0400 Subject: [PATCH] storage_conf: Adjust virStoragePoolAuthType enum Generate and use the virStoragePoolAuthTypeType{To|From}String helpers --- src/conf/storage_conf.c | 19 +++++++++++-------- src/conf/storage_conf.h | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 524a4d6b7b..9bcfcedbfd 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -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," \n", + virBufferAsprintf(buf," \n", + virStoragePoolAuthTypeTypeToString(src->authType), src->auth.chap.login, src->auth.chap.passwd); if (src->authType == VIR_STORAGE_POOL_AUTH_CEPHX) { - virBufferAsprintf(buf," \n", - src->auth.cephx.username); + virBufferAsprintf(buf," \n", + src->auth.cephx.username, + virStoragePoolAuthTypeTypeToString(src->authType)); virBufferAddLit(buf," auth.cephx.secret.uuidUsable) { diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index c183427b71..98339ef973 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -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; -- 2.47.2