There's no need to implement ToString() function like we do if we
can use our shiny macros.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
daemon/libvirtd-config.c | 4 ++--
src/libvirt_private.syms | 2 ++
src/locking/lock_daemon_config.c | 4 ++--
src/util/virconf.c | 6 ++++++
src/util/virconf.h | 28 +++++++++-------------------
5 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c
index c31ef16..929dd1a 100644
--- a/daemon/libvirtd-config.c
+++ b/daemon/libvirtd-config.c
@@ -123,8 +123,8 @@ checkType(virConfValuePtr p, const char *filename,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("remoteReadConfigFile: %s: %s: invalid type:"
" got %s; expected %s"), filename, key,
- virConfTypeName(p->type),
- virConfTypeName(required_type));
+ virConfTypeToString(p->type),
+ virConfTypeToString(required_type));
return -1;
}
return 0;
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 6df2784..57cf4d3 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1211,6 +1211,8 @@ virConfNew;
virConfReadFile;
virConfReadMem;
virConfSetValue;
+virConfTypeFromString;
+virConfTypeToString;
virConfWalk;
virConfWriteFile;
virConfWriteMem;
diff --git a/src/locking/lock_daemon_config.c b/src/locking/lock_daemon_config.c
index 62b8b02..abe6aba 100644
--- a/src/locking/lock_daemon_config.c
+++ b/src/locking/lock_daemon_config.c
@@ -47,8 +47,8 @@ checkType(virConfValuePtr p, const char *filename,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("remoteReadConfigFile: %s: %s: invalid type:"
" got %s; expected %s"), filename, key,
- virConfTypeName(p->type),
- virConfTypeName(required_type));
+ virConfTypeToString(p->type),
+ virConfTypeToString(required_type));
return -1;
}
return 0;
diff --git a/src/util/virconf.c b/src/util/virconf.c
index 74e695a..5b4b4c3 100644
--- a/src/util/virconf.c
+++ b/src/util/virconf.c
@@ -80,6 +80,12 @@ struct _virConfParserCtxt {
* *
************************************************************************/
+VIR_ENUM_IMPL(virConf, VIR_CONF_LAST,
+ "*unexpected*",
+ "long",
+ "string",
+ "list");
+
typedef struct _virConfEntry virConfEntry;
typedef virConfEntry *virConfEntryPtr;
diff --git a/src/util/virconf.h b/src/util/virconf.h
index 2a6b050..6176d43 100644
--- a/src/util/virconf.h
+++ b/src/util/virconf.h
@@ -23,6 +23,8 @@
#ifndef __VIR_CONF_H__
# define __VIR_CONF_H__
+# include "virutil.h"
+
/**
* virConfType:
* one of the possible type for a value from the configuration file
@@ -30,12 +32,15 @@
* TODO: we probably need a float too.
*/
typedef enum {
- VIR_CONF_NONE = 0, /* undefined */
- VIR_CONF_LONG = 1, /* a long int */
- VIR_CONF_STRING = 2, /* a string */
- VIR_CONF_LIST = 3 /* a list */
+ VIR_CONF_NONE = 0, /* undefined */
+ VIR_CONF_LONG, /* a long int */
+ VIR_CONF_STRING, /* a string */
+ VIR_CONF_LIST, /* a list */
+ VIR_CONF_LAST, /* sentinel */
} virConfType;
+VIR_ENUM_DECL(virConf)
+
typedef enum {
VIR_CONF_FLAG_VMX_FORMAT = 1, /* allow ':', '.' and '-' in
names for compatibility
with VMware VMX configuration file, but restrict
@@ -45,21 +50,6 @@ typedef enum {
to string only and don't expect quotes for
values */
} virConfFlags;
-static inline const char *
-virConfTypeName (virConfType t)
-{
- switch (t) {
- case VIR_CONF_LONG:
- return "long";
- case VIR_CONF_STRING:
- return "string";
- case VIR_CONF_LIST:
- return "list";
- default:
- return "*unexpected*";
- }
-}
-
/**
* virConfValue:
* a value from the configuration file
--
2.0.4