1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
2
3/*
4 * Schema-defined QAPI visitors
5 *
6 * Copyright IBM, Corp. 2011
7 * Copyright (C) 2014-2018 Red Hat, Inc.
8 *
9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10 * See the COPYING.LIB file in the top-level directory.
11 */
12
13#include "qemu/osdep.h"
14#include "qapi/error.h"
15#include "qapi/qmp/qerror.h"
16#include "qapi-visit-dump.h"
17
18void visit_type_DumpGuestMemoryFormat(Visitor *v, const char *name, DumpGuestMemoryFormat *obj, Error **errp)
19{
20 int value = *obj;
21 visit_type_enum(v, name, &value, &DumpGuestMemoryFormat_lookup, errp);
22 *obj = value;
23}
24
25void visit_type_q_obj_dump_guest_memory_arg_members(Visitor *v, q_obj_dump_guest_memory_arg *obj, Error **errp)
26{
27 Error *err = NULL;
28
29 visit_type_bool(v, "paging", &obj->paging, &err);
30 if (err) {
31 goto out;
32 }
33 visit_type_str(v, "protocol", &obj->protocol, &err);
34 if (err) {
35 goto out;
36 }
37 if (visit_optional(v, "detach", &obj->has_detach)) {
38 visit_type_bool(v, "detach", &obj->detach, &err);
39 if (err) {
40 goto out;
41 }
42 }
43 if (visit_optional(v, "begin", &obj->has_begin)) {
44 visit_type_int(v, "begin", &obj->begin, &err);
45 if (err) {
46 goto out;
47 }
48 }
49 if (visit_optional(v, "length", &obj->has_length)) {
50 visit_type_int(v, "length", &obj->length, &err);
51 if (err) {
52 goto out;
53 }
54 }
55 if (visit_optional(v, "format", &obj->has_format)) {
56 visit_type_DumpGuestMemoryFormat(v, "format", &obj->format, &err);
57 if (err) {
58 goto out;
59 }
60 }
61
62out:
63 error_propagate(errp, err);
64}
65
66void visit_type_DumpStatus(Visitor *v, const char *name, DumpStatus *obj, Error **errp)
67{
68 int value = *obj;
69 visit_type_enum(v, name, &value, &DumpStatus_lookup, errp);
70 *obj = value;
71}
72
73void visit_type_DumpQueryResult_members(Visitor *v, DumpQueryResult *obj, Error **errp)
74{
75 Error *err = NULL;
76
77 visit_type_DumpStatus(v, "status", &obj->status, &err);
78 if (err) {
79 goto out;
80 }
81 visit_type_int(v, "completed", &obj->completed, &err);
82 if (err) {
83 goto out;
84 }
85 visit_type_int(v, "total", &obj->total, &err);
86 if (err) {
87 goto out;
88 }
89
90out:
91 error_propagate(errp, err);
92}
93
94void visit_type_DumpQueryResult(Visitor *v, const char *name, DumpQueryResult **obj, Error **errp)
95{
96 Error *err = NULL;
97
98 visit_start_struct(v, name, (void **)obj, sizeof(DumpQueryResult), &err);
99 if (err) {
100 goto out;
101 }
102 if (!*obj) {
103 goto out_obj;
104 }
105 visit_type_DumpQueryResult_members(v, *obj, &err);
106 if (err) {
107 goto out_obj;
108 }
109 visit_check_struct(v, &err);
110out_obj:
111 visit_end_struct(v, (void **)obj);
112 if (err && visit_is_input(v)) {
113 qapi_free_DumpQueryResult(*obj);
114 *obj = NULL;
115 }
116out:
117 error_propagate(errp, err);
118}
119
120void visit_type_q_obj_DUMP_COMPLETED_arg_members(Visitor *v, q_obj_DUMP_COMPLETED_arg *obj, Error **errp)
121{
122 Error *err = NULL;
123
124 visit_type_DumpQueryResult(v, "result", &obj->result, &err);
125 if (err) {
126 goto out;
127 }
128 if (visit_optional(v, "error", &obj->has_error)) {
129 visit_type_str(v, "error", &obj->error, &err);
130 if (err) {
131 goto out;
132 }
133 }
134
135out:
136 error_propagate(errp, err);
137}
138
139void visit_type_DumpGuestMemoryFormatList(Visitor *v, const char *name, DumpGuestMemoryFormatList **obj, Error **errp)
140{
141 Error *err = NULL;
142 DumpGuestMemoryFormatList *tail;
143 size_t size = sizeof(**obj);
144
145 visit_start_list(v, name, (GenericList **)obj, size, &err);
146 if (err) {
147 goto out;
148 }
149
150 for (tail = *obj; tail;
151 tail = (DumpGuestMemoryFormatList *)visit_next_list(v, (GenericList *)tail, size)) {
152 visit_type_DumpGuestMemoryFormat(v, NULL, &tail->value, &err);
153 if (err) {
154 break;
155 }
156 }
157
158 if (!err) {
159 visit_check_list(v, &err);
160 }
161 visit_end_list(v, (void **)obj);
162 if (err && visit_is_input(v)) {
163 qapi_free_DumpGuestMemoryFormatList(*obj);
164 *obj = NULL;
165 }
166out:
167 error_propagate(errp, err);
168}
169
170void visit_type_DumpGuestMemoryCapability_members(Visitor *v, DumpGuestMemoryCapability *obj, Error **errp)
171{
172 Error *err = NULL;
173
174 visit_type_DumpGuestMemoryFormatList(v, "formats", &obj->formats, &err);
175 if (err) {
176 goto out;
177 }
178
179out:
180 error_propagate(errp, err);
181}
182
183void visit_type_DumpGuestMemoryCapability(Visitor *v, const char *name, DumpGuestMemoryCapability **obj, Error **errp)
184{
185 Error *err = NULL;
186
187 visit_start_struct(v, name, (void **)obj, sizeof(DumpGuestMemoryCapability), &err);
188 if (err) {
189 goto out;
190 }
191 if (!*obj) {
192 goto out_obj;
193 }
194 visit_type_DumpGuestMemoryCapability_members(v, *obj, &err);
195 if (err) {
196 goto out_obj;
197 }
198 visit_check_struct(v, &err);
199out_obj:
200 visit_end_struct(v, (void **)obj);
201 if (err && visit_is_input(v)) {
202 qapi_free_DumpGuestMemoryCapability(*obj);
203 *obj = NULL;
204 }
205out:
206 error_propagate(errp, err);
207}
208
209/* Dummy declaration to prevent empty .o file */
210char qapi_dummy_qapi_visit_dump_c;
211