qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 5/7] qapi: rename QmpOutputVisitor to QObjectOutputVi


From: Markus Armbruster
Subject: [Qemu-devel] [PULL 5/7] qapi: rename QmpOutputVisitor to QObjectOutputVisitor
Date: Tue, 25 Oct 2016 17:58:00 +0200

From: "Daniel P. Berrange" <address@hidden>

The QmpOutputVisitor has no direct dependency on QMP. It is
valid to use it anywhere that one wants a QObject. Rename it
to better reflect its functionality as a generic QAPI
to QObject converter.

The commit before previous renamed the files, this one renames C
identifiers.

Reviewed-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
[Split into file rename and identifier rename]
Signed-off-by: Markus Armbruster <address@hidden>
---
 block/qapi.c                          |   2 +-
 blockdev.c                            |   2 +-
 docs/qapi-code-gen.txt                |   2 +-
 include/qapi/qobject-output-visitor.h |   4 +-
 qapi/qobject-output-visitor.c         | 162 +++++++++++++++++-----------------
 qemu-img.c                            |   6 +-
 qom/qom-qobject.c                     |   2 +-
 scripts/qapi-commands.py              |   2 +-
 scripts/qapi-event.py                 |   2 +-
 tests/check-qnull.c                   |   2 +-
 tests/test-qobject-output-visitor.c   |   2 +-
 tests/test-visitor-serialization.c    |   2 +-
 12 files changed, 94 insertions(+), 96 deletions(-)

diff --git a/block/qapi.c b/block/qapi.c
index 85f032f..a62e862 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -691,7 +691,7 @@ void bdrv_image_info_specific_dump(fprintf_function 
func_fprintf, void *f,
                                    ImageInfoSpecific *info_spec)
 {
     QObject *obj, *data;
-    Visitor *v = qmp_output_visitor_new(&obj);
+    Visitor *v = qobject_output_visitor_new(&obj);
 
     visit_type_ImageInfoSpecific(v, NULL, &info_spec, &error_abort);
     visit_complete(v, &obj);
diff --git a/blockdev.c b/blockdev.c
index ef4157b..d11a74f 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3776,7 +3776,7 @@ void qmp_blockdev_add(BlockdevOptions *options, Error 
**errp)
 {
     BlockDriverState *bs;
     QObject *obj;
-    Visitor *v = qmp_output_visitor_new(&obj);
+    Visitor *v = qobject_output_visitor_new(&obj);
     QDict *qdict;
     Error *local_err = NULL;
 
diff --git a/docs/qapi-code-gen.txt b/docs/qapi-code-gen.txt
index d2604b6..2841c51 100644
--- a/docs/qapi-code-gen.txt
+++ b/docs/qapi-code-gen.txt
@@ -1005,7 +1005,7 @@ Example:
         Error *err = NULL;
         Visitor *v;
 
-        v = qmp_output_visitor_new(ret_out);
+        v = qobject_output_visitor_new(ret_out);
         visit_type_UserDefOne(v, "unused", &ret_in, &err);
         if (!err) {
             visit_complete(v, ret_out);
diff --git a/include/qapi/qobject-output-visitor.h 
b/include/qapi/qobject-output-visitor.h
index f455245..8241877 100644
--- a/include/qapi/qobject-output-visitor.h
+++ b/include/qapi/qobject-output-visitor.h
@@ -17,7 +17,7 @@
 #include "qapi/visitor.h"
 #include "qapi/qmp/qobject.h"
 
-typedef struct QmpOutputVisitor QmpOutputVisitor;
+typedef struct QObjectOutputVisitor QObjectOutputVisitor;
 
 /*
  * Create a new QObject output visitor.
@@ -25,6 +25,6 @@ typedef struct QmpOutputVisitor QmpOutputVisitor;
  * If everything else succeeds, pass @result to visit_complete() to
  * collect the result of the visit.
  */
-Visitor *qmp_output_visitor_new(QObject **result);
+Visitor *qobject_output_visitor_new(QObject **result);
 
 #endif
diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
index 92c5b5b..8711270 100644
--- a/qapi/qobject-output-visitor.c
+++ b/qapi/qobject-output-visitor.c
@@ -19,34 +19,32 @@
 #include "qemu-common.h"
 #include "qapi/qmp/types.h"
 
-typedef struct QStackEntry
-{
+typedef struct QStackEntry {
     QObject *value;
     void *qapi; /* sanity check that caller uses same pointer */
     QSLIST_ENTRY(QStackEntry) node;
 } QStackEntry;
 
-struct QmpOutputVisitor
-{
+struct QObjectOutputVisitor {
     Visitor visitor;
     QSLIST_HEAD(, QStackEntry) stack; /* Stack of unfinished containers */
     QObject *root; /* Root of the output visit */
     QObject **result; /* User's storage location for result */
 };
 
-#define qmp_output_add(qov, name, value) \
-    qmp_output_add_obj(qov, name, QOBJECT(value))
-#define qmp_output_push(qov, value, qapi) \
-    qmp_output_push_obj(qov, QOBJECT(value), qapi)
+#define qobject_output_add(qov, name, value) \
+    qobject_output_add_obj(qov, name, QOBJECT(value))
+#define qobject_output_push(qov, value, qapi) \
+    qobject_output_push_obj(qov, QOBJECT(value), qapi)
 
-static QmpOutputVisitor *to_qov(Visitor *v)
+static QObjectOutputVisitor *to_qov(Visitor *v)
 {
-    return container_of(v, QmpOutputVisitor, visitor);
+    return container_of(v, QObjectOutputVisitor, visitor);
 }
 
 /* Push @value onto the stack of current QObjects being built */
-static void qmp_output_push_obj(QmpOutputVisitor *qov, QObject *value,
-                                void *qapi)
+static void qobject_output_push_obj(QObjectOutputVisitor *qov, QObject *value,
+                                    void *qapi)
 {
     QStackEntry *e = g_malloc0(sizeof(*e));
 
@@ -58,7 +56,7 @@ static void qmp_output_push_obj(QmpOutputVisitor *qov, 
QObject *value,
 }
 
 /* Pop a value off the stack of QObjects being built, and return it. */
-static QObject *qmp_output_pop(QmpOutputVisitor *qov, void *qapi)
+static QObject *qobject_output_pop(QObjectOutputVisitor *qov, void *qapi)
 {
     QStackEntry *e = QSLIST_FIRST(&qov->stack);
     QObject *value;
@@ -75,8 +73,8 @@ static QObject *qmp_output_pop(QmpOutputVisitor *qov, void 
*qapi)
 /* Add @value to the current QObject being built.
  * If the stack is visiting a dictionary or list, @value is now owned
  * by that container. Otherwise, @value is now the root.  */
-static void qmp_output_add_obj(QmpOutputVisitor *qov, const char *name,
-                               QObject *value)
+static void qobject_output_add_obj(QObjectOutputVisitor *qov, const char *name,
+                                   QObject *value)
 {
     QStackEntry *e = QSLIST_FIRST(&qov->stack);
     QObject *cur = e ? e->value : NULL;
@@ -101,107 +99,107 @@ static void qmp_output_add_obj(QmpOutputVisitor *qov, 
const char *name,
     }
 }
 
-static void qmp_output_start_struct(Visitor *v, const char *name, void **obj,
-                                    size_t unused, Error **errp)
+static void qobject_output_start_struct(Visitor *v, const char *name,
+                                        void **obj, size_t unused, Error 
**errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
     QDict *dict = qdict_new();
 
-    qmp_output_add(qov, name, dict);
-    qmp_output_push(qov, dict, obj);
+    qobject_output_add(qov, name, dict);
+    qobject_output_push(qov, dict, obj);
 }
 
-static void qmp_output_end_struct(Visitor *v, void **obj)
+static void qobject_output_end_struct(Visitor *v, void **obj)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    QObject *value = qmp_output_pop(qov, obj);
+    QObjectOutputVisitor *qov = to_qov(v);
+    QObject *value = qobject_output_pop(qov, obj);
     assert(qobject_type(value) == QTYPE_QDICT);
 }
 
-static void qmp_output_start_list(Visitor *v, const char *name,
-                                  GenericList **listp, size_t size,
-                                  Error **errp)
+static void qobject_output_start_list(Visitor *v, const char *name,
+                                      GenericList **listp, size_t size,
+                                      Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
     QList *list = qlist_new();
 
-    qmp_output_add(qov, name, list);
-    qmp_output_push(qov, list, listp);
+    qobject_output_add(qov, name, list);
+    qobject_output_push(qov, list, listp);
 }
 
-static GenericList *qmp_output_next_list(Visitor *v, GenericList *tail,
-                                         size_t size)
+static GenericList *qobject_output_next_list(Visitor *v, GenericList *tail,
+                                             size_t size)
 {
     return tail->next;
 }
 
-static void qmp_output_end_list(Visitor *v, void **obj)
+static void qobject_output_end_list(Visitor *v, void **obj)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    QObject *value = qmp_output_pop(qov, obj);
+    QObjectOutputVisitor *qov = to_qov(v);
+    QObject *value = qobject_output_pop(qov, obj);
     assert(qobject_type(value) == QTYPE_QLIST);
 }
 
-static void qmp_output_type_int64(Visitor *v, const char *name, int64_t *obj,
-                                  Error **errp)
+static void qobject_output_type_int64(Visitor *v, const char *name,
+                                      int64_t *obj, Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    qmp_output_add(qov, name, qint_from_int(*obj));
+    QObjectOutputVisitor *qov = to_qov(v);
+    qobject_output_add(qov, name, qint_from_int(*obj));
 }
 
-static void qmp_output_type_uint64(Visitor *v, const char *name, uint64_t *obj,
-                                   Error **errp)
+static void qobject_output_type_uint64(Visitor *v, const char *name,
+                                       uint64_t *obj, Error **errp)
 {
     /* FIXME values larger than INT64_MAX become negative */
-    QmpOutputVisitor *qov = to_qov(v);
-    qmp_output_add(qov, name, qint_from_int(*obj));
+    QObjectOutputVisitor *qov = to_qov(v);
+    qobject_output_add(qov, name, qint_from_int(*obj));
 }
 
-static void qmp_output_type_bool(Visitor *v, const char *name, bool *obj,
-                                 Error **errp)
+static void qobject_output_type_bool(Visitor *v, const char *name, bool *obj,
+                                     Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    qmp_output_add(qov, name, qbool_from_bool(*obj));
+    QObjectOutputVisitor *qov = to_qov(v);
+    qobject_output_add(qov, name, qbool_from_bool(*obj));
 }
 
-static void qmp_output_type_str(Visitor *v, const char *name, char **obj,
-                                Error **errp)
+static void qobject_output_type_str(Visitor *v, const char *name, char **obj,
+                                    Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
     if (*obj) {
-        qmp_output_add(qov, name, qstring_from_str(*obj));
+        qobject_output_add(qov, name, qstring_from_str(*obj));
     } else {
-        qmp_output_add(qov, name, qstring_from_str(""));
+        qobject_output_add(qov, name, qstring_from_str(""));
     }
 }
 
-static void qmp_output_type_number(Visitor *v, const char *name, double *obj,
-                                   Error **errp)
+static void qobject_output_type_number(Visitor *v, const char *name,
+                                       double *obj, Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    qmp_output_add(qov, name, qfloat_from_double(*obj));
+    QObjectOutputVisitor *qov = to_qov(v);
+    qobject_output_add(qov, name, qfloat_from_double(*obj));
 }
 
-static void qmp_output_type_any(Visitor *v, const char *name, QObject **obj,
-                                Error **errp)
+static void qobject_output_type_any(Visitor *v, const char *name,
+                                    QObject **obj, Error **errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
     qobject_incref(*obj);
-    qmp_output_add_obj(qov, name, *obj);
+    qobject_output_add_obj(qov, name, *obj);
 }
 
-static void qmp_output_type_null(Visitor *v, const char *name, Error **errp)
+static void qobject_output_type_null(Visitor *v, const char *name, Error 
**errp)
 {
-    QmpOutputVisitor *qov = to_qov(v);
-    qmp_output_add_obj(qov, name, qnull());
+    QObjectOutputVisitor *qov = to_qov(v);
+    qobject_output_add_obj(qov, name, qnull());
 }
 
 /* Finish building, and return the root object.
  * The root object is never null. The caller becomes the object's
  * owner, and should use qobject_decref() when done with it.  */
-static void qmp_output_complete(Visitor *v, void *opaque)
+static void qobject_output_complete(Visitor *v, void *opaque)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
 
     /* A visit must have occurred, with each start paired with end.  */
     assert(qov->root && QSLIST_EMPTY(&qov->stack));
@@ -212,9 +210,9 @@ static void qmp_output_complete(Visitor *v, void *opaque)
     qov->result = NULL;
 }
 
-static void qmp_output_free(Visitor *v)
+static void qobject_output_free(Visitor *v)
 {
-    QmpOutputVisitor *qov = to_qov(v);
+    QObjectOutputVisitor *qov = to_qov(v);
     QStackEntry *e;
 
     while (!QSLIST_EMPTY(&qov->stack)) {
@@ -227,27 +225,27 @@ static void qmp_output_free(Visitor *v)
     g_free(qov);
 }
 
-Visitor *qmp_output_visitor_new(QObject **result)
+Visitor *qobject_output_visitor_new(QObject **result)
 {
-    QmpOutputVisitor *v;
+    QObjectOutputVisitor *v;
 
     v = g_malloc0(sizeof(*v));
 
     v->visitor.type = VISITOR_OUTPUT;
-    v->visitor.start_struct = qmp_output_start_struct;
-    v->visitor.end_struct = qmp_output_end_struct;
-    v->visitor.start_list = qmp_output_start_list;
-    v->visitor.next_list = qmp_output_next_list;
-    v->visitor.end_list = qmp_output_end_list;
-    v->visitor.type_int64 = qmp_output_type_int64;
-    v->visitor.type_uint64 = qmp_output_type_uint64;
-    v->visitor.type_bool = qmp_output_type_bool;
-    v->visitor.type_str = qmp_output_type_str;
-    v->visitor.type_number = qmp_output_type_number;
-    v->visitor.type_any = qmp_output_type_any;
-    v->visitor.type_null = qmp_output_type_null;
-    v->visitor.complete = qmp_output_complete;
-    v->visitor.free = qmp_output_free;
+    v->visitor.start_struct = qobject_output_start_struct;
+    v->visitor.end_struct = qobject_output_end_struct;
+    v->visitor.start_list = qobject_output_start_list;
+    v->visitor.next_list = qobject_output_next_list;
+    v->visitor.end_list = qobject_output_end_list;
+    v->visitor.type_int64 = qobject_output_type_int64;
+    v->visitor.type_uint64 = qobject_output_type_uint64;
+    v->visitor.type_bool = qobject_output_type_bool;
+    v->visitor.type_str = qobject_output_type_str;
+    v->visitor.type_number = qobject_output_type_number;
+    v->visitor.type_any = qobject_output_type_any;
+    v->visitor.type_null = qobject_output_type_null;
+    v->visitor.complete = qobject_output_complete;
+    v->visitor.free = qobject_output_free;
 
     *result = NULL;
     v->result = result;
diff --git a/qemu-img.c b/qemu-img.c
index 384537b..afcd51f 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -500,7 +500,7 @@ static void dump_json_image_check(ImageCheck *check, bool 
quiet)
 {
     QString *str;
     QObject *obj;
-    Visitor *v = qmp_output_visitor_new(&obj);
+    Visitor *v = qobject_output_visitor_new(&obj);
 
     visit_type_ImageCheck(v, NULL, &check, &error_abort);
     visit_complete(v, &obj);
@@ -2193,7 +2193,7 @@ static void dump_json_image_info_list(ImageInfoList *list)
 {
     QString *str;
     QObject *obj;
-    Visitor *v = qmp_output_visitor_new(&obj);
+    Visitor *v = qobject_output_visitor_new(&obj);
 
     visit_type_ImageInfoList(v, NULL, &list, &error_abort);
     visit_complete(v, &obj);
@@ -2209,7 +2209,7 @@ static void dump_json_image_info(ImageInfo *info)
 {
     QString *str;
     QObject *obj;
-    Visitor *v = qmp_output_visitor_new(&obj);
+    Visitor *v = qobject_output_visitor_new(&obj);
 
     visit_type_ImageInfo(v, NULL, &info, &error_abort);
     visit_complete(v, &obj);
diff --git a/qom/qom-qobject.c b/qom/qom-qobject.c
index f2b1d58..447e4a0 100644
--- a/qom/qom-qobject.c
+++ b/qom/qom-qobject.c
@@ -35,7 +35,7 @@ QObject *object_property_get_qobject(Object *obj, const char 
*name,
     Error *local_err = NULL;
     Visitor *v;
 
-    v = qmp_output_visitor_new(&ret);
+    v = qobject_output_visitor_new(&ret);
     object_property_get(obj, v, name, &local_err);
     if (!local_err) {
         visit_complete(v, &ret);
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index ee2a751..09e8467 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -68,7 +68,7 @@ static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, 
QObject **ret_out,
     Error *err = NULL;
     Visitor *v;
 
-    v = qmp_output_visitor_new(ret_out);
+    v = qobject_output_visitor_new(ret_out);
     visit_type_%(c_name)s(v, "unused", &ret_in, &err);
     if (!err) {
         visit_complete(v, ret_out);
diff --git a/scripts/qapi-event.py b/scripts/qapi-event.py
index 6d9a36d..f4eb7f8 100644
--- a/scripts/qapi-event.py
+++ b/scripts/qapi-event.py
@@ -98,7 +98,7 @@ def gen_event_send(name, arg_type, boxed):
 
     if arg_type and not arg_type.is_empty():
         ret += mcgen('''
-    v = qmp_output_visitor_new(&obj);
+    v = qobject_output_visitor_new(&obj);
 ''')
         if not arg_type.is_implicit():
             ret += mcgen('''
diff --git a/tests/check-qnull.c b/tests/check-qnull.c
index 550c1e6..b50bb8a 100644
--- a/tests/check-qnull.c
+++ b/tests/check-qnull.c
@@ -52,7 +52,7 @@ static void qnull_visit_test(void)
     visit_type_null(v, NULL, &error_abort);
     visit_free(v);
 
-    v = qmp_output_visitor_new(&obj);
+    v = qobject_output_visitor_new(&obj);
     visit_type_null(v, NULL, &error_abort);
     visit_complete(v, &obj);
     g_assert(obj == &qnull_);
diff --git a/tests/test-qobject-output-visitor.c 
b/tests/test-qobject-output-visitor.c
index f10d695..4e2d79c 100644
--- a/tests/test-qobject-output-visitor.c
+++ b/tests/test-qobject-output-visitor.c
@@ -28,7 +28,7 @@ typedef struct TestOutputVisitorData {
 static void visitor_output_setup(TestOutputVisitorData *data,
                                  const void *unused)
 {
-    data->ov = qmp_output_visitor_new(&data->obj);
+    data->ov = qobject_output_visitor_new(&data->obj);
     g_assert(data->ov);
 }
 
diff --git a/tests/test-visitor-serialization.c 
b/tests/test-visitor-serialization.c
index de03c4c..66b2b1c 100644
--- a/tests/test-visitor-serialization.c
+++ b/tests/test-visitor-serialization.c
@@ -1022,7 +1022,7 @@ static void qmp_serialize(void *native_in, void **datap,
 {
     QmpSerializeData *d = g_malloc0(sizeof(*d));
 
-    d->qov = qmp_output_visitor_new(&d->obj);
+    d->qov = qobject_output_visitor_new(&d->obj);
     visit(d->qov, &native_in, errp);
     *datap = d;
 }
-- 
2.5.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]