]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qom/qom-qobject.c
migration/postcopy: do_fixup is true when host_offset is non-zero
[mirror_qemu.git] / qom / qom-qobject.c
index 9cbc4c69a6f23e7bcdfdf8d93c0ea639a0aca157..c3b95aa354da8838fa7c68a2242be8bd8e1b943d 100644 (file)
  */
 
 #include "qemu/osdep.h"
-#include "qemu-common.h"
+#include "qapi/error.h"
 #include "qom/object.h"
 #include "qom/qom-qobject.h"
 #include "qapi/visitor.h"
-#include "qapi/qmp-input-visitor.h"
-#include "qapi/qmp-output-visitor.h"
+#include "qapi/qobject-input-visitor.h"
+#include "qapi/qobject-output-visitor.h"
 
 void object_property_set_qobject(Object *obj, QObject *value,
                                  const char *name, Error **errp)
 {
-    QmpInputVisitor *qiv;
-    qiv = qmp_input_visitor_new(value);
-    object_property_set(obj, qmp_input_get_visitor(qiv), name, errp);
+    Visitor *v;
 
-    qmp_input_visitor_cleanup(qiv);
+    v = qobject_input_visitor_new(value);
+    object_property_set(obj, v, name, errp);
+    visit_free(v);
 }
 
 QObject *object_property_get_qobject(Object *obj, const char *name,
@@ -32,14 +32,14 @@ QObject *object_property_get_qobject(Object *obj, const char *name,
 {
     QObject *ret = NULL;
     Error *local_err = NULL;
-    QmpOutputVisitor *qov;
+    Visitor *v;
 
-    qov = qmp_output_visitor_new();
-    object_property_get(obj, qmp_output_get_visitor(qov), name, &local_err);
+    v = qobject_output_visitor_new(&ret);
+    object_property_get(obj, v, name, &local_err);
     if (!local_err) {
-        ret = qmp_output_get_qobject(qov);
+        visit_complete(v, &ret);
     }
     error_propagate(errp, local_err);
-    qmp_output_visitor_cleanup(qov);
+    visit_free(v);
     return ret;
 }