Patchwork [11/22] qapi: add open-coded visitor for struct tm types

login
register
mail settings
Submitter Michael Roth
Date July 24, 2012, 5:20 p.m.
Message ID <1343150454-4677-12-git-send-email-mdroth@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/173018/
State New
Headers show

Comments

Michael Roth - July 24, 2012, 5:20 p.m.
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
 qapi/Makefile.objs     |    1 +
 qapi/misc-qapi-visit.c |   14 ++++++++++++++
 qapi/qapi-visit-core.h |    3 +++
 3 files changed, 18 insertions(+)
 create mode 100644 qapi/misc-qapi-visit.c
Anthony Liguori - July 24, 2012, 10:24 p.m.
Michael Roth <mdroth@linux.vnet.ibm.com> writes:

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

Regards,

Anthony Liguori

> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> ---
>  qapi/Makefile.objs     |    1 +
>  qapi/misc-qapi-visit.c |   14 ++++++++++++++
>  qapi/qapi-visit-core.h |    3 +++
>  3 files changed, 18 insertions(+)
>  create mode 100644 qapi/misc-qapi-visit.c
>
> diff --git a/qapi/Makefile.objs b/qapi/Makefile.objs
> index 5f5846e..7604b52 100644
> --- a/qapi/Makefile.objs
> +++ b/qapi/Makefile.objs
> @@ -1,3 +1,4 @@
>  qapi-obj-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o
>  qapi-obj-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o
>  qapi-obj-y += string-input-visitor.o string-output-visitor.o opts-visitor.o
> +qapi-obj-y += misc-qapi-visit.o
> diff --git a/qapi/misc-qapi-visit.c b/qapi/misc-qapi-visit.c
> new file mode 100644
> index 0000000..a44773d
> --- /dev/null
> +++ b/qapi/misc-qapi-visit.c
> @@ -0,0 +1,14 @@
> +#include <time.h>
> +#include "qidl.h"
> +
> +void visit_type_tm(Visitor *v, struct tm *obj, const char *name, Error **errp)
> +{
> +    visit_start_struct(v, NULL, "struct tm", name, 0, errp);
> +    visit_type_int32(v, &obj->tm_year, "tm_year", errp);
> +    visit_type_int32(v, &obj->tm_mon, "tm_mon", errp);
> +    visit_type_int32(v, &obj->tm_mday, "tm_mday", errp);
> +    visit_type_int32(v, &obj->tm_hour, "tm_hour", errp);
> +    visit_type_int32(v, &obj->tm_min, "tm_min", errp);
> +    visit_type_int32(v, &obj->tm_sec, "tm_sec", errp);
> +    visit_end_struct(v, errp);
> +}
> diff --git a/qapi/qapi-visit-core.h b/qapi/qapi-visit-core.h
> index 4a7bdb6..6af9f5e 100644
> --- a/qapi/qapi-visit-core.h
> +++ b/qapi/qapi-visit-core.h
> @@ -100,4 +100,7 @@ void visit_start_array(Visitor *v, void **obj, const char *name,
>  void visit_next_array(Visitor *v, Error **errp);
>  void visit_end_array(Visitor *v, Error **errp);
>  
> +/* misc. visitors */
> +void visit_type_tm(Visitor *m, struct tm *obj, const char *name, Error **errp);
> +
>  #endif
> -- 
> 1.7.9.5

Patch

diff --git a/qapi/Makefile.objs b/qapi/Makefile.objs
index 5f5846e..7604b52 100644
--- a/qapi/Makefile.objs
+++ b/qapi/Makefile.objs
@@ -1,3 +1,4 @@ 
 qapi-obj-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o
 qapi-obj-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o
 qapi-obj-y += string-input-visitor.o string-output-visitor.o opts-visitor.o
+qapi-obj-y += misc-qapi-visit.o
diff --git a/qapi/misc-qapi-visit.c b/qapi/misc-qapi-visit.c
new file mode 100644
index 0000000..a44773d
--- /dev/null
+++ b/qapi/misc-qapi-visit.c
@@ -0,0 +1,14 @@ 
+#include <time.h>
+#include "qidl.h"
+
+void visit_type_tm(Visitor *v, struct tm *obj, const char *name, Error **errp)
+{
+    visit_start_struct(v, NULL, "struct tm", name, 0, errp);
+    visit_type_int32(v, &obj->tm_year, "tm_year", errp);
+    visit_type_int32(v, &obj->tm_mon, "tm_mon", errp);
+    visit_type_int32(v, &obj->tm_mday, "tm_mday", errp);
+    visit_type_int32(v, &obj->tm_hour, "tm_hour", errp);
+    visit_type_int32(v, &obj->tm_min, "tm_min", errp);
+    visit_type_int32(v, &obj->tm_sec, "tm_sec", errp);
+    visit_end_struct(v, errp);
+}
diff --git a/qapi/qapi-visit-core.h b/qapi/qapi-visit-core.h
index 4a7bdb6..6af9f5e 100644
--- a/qapi/qapi-visit-core.h
+++ b/qapi/qapi-visit-core.h
@@ -100,4 +100,7 @@  void visit_start_array(Visitor *v, void **obj, const char *name,
 void visit_next_array(Visitor *v, Error **errp);
 void visit_end_array(Visitor *v, Error **errp);
 
+/* misc. visitors */
+void visit_type_tm(Visitor *m, struct tm *obj, const char *name, Error **errp);
+
 #endif