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-job.h"
17
18void visit_type_JobType(Visitor *v, const char *name, JobType *obj, Error **errp)
19{
20 int value = *obj;
21 visit_type_enum(v, name, &value, &JobType_lookup, errp);
22 *obj = value;
23}
24
25void visit_type_JobStatus(Visitor *v, const char *name, JobStatus *obj, Error **errp)
26{
27 int value = *obj;
28 visit_type_enum(v, name, &value, &JobStatus_lookup, errp);
29 *obj = value;
30}
31
32void visit_type_JobVerb(Visitor *v, const char *name, JobVerb *obj, Error **errp)
33{
34 int value = *obj;
35 visit_type_enum(v, name, &value, &JobVerb_lookup, errp);
36 *obj = value;
37}
38
39void visit_type_q_obj_JOB_STATUS_CHANGE_arg_members(Visitor *v, q_obj_JOB_STATUS_CHANGE_arg *obj, Error **errp)
40{
41 Error *err = NULL;
42
43 visit_type_str(v, "id", &obj->id, &err);
44 if (err) {
45 goto out;
46 }
47 visit_type_JobStatus(v, "status", &obj->status, &err);
48 if (err) {
49 goto out;
50 }
51
52out:
53 error_propagate(errp, err);
54}
55
56void visit_type_q_obj_job_pause_arg_members(Visitor *v, q_obj_job_pause_arg *obj, Error **errp)
57{
58 Error *err = NULL;
59
60 visit_type_str(v, "id", &obj->id, &err);
61 if (err) {
62 goto out;
63 }
64
65out:
66 error_propagate(errp, err);
67}
68
69void visit_type_q_obj_job_resume_arg_members(Visitor *v, q_obj_job_resume_arg *obj, Error **errp)
70{
71 Error *err = NULL;
72
73 visit_type_str(v, "id", &obj->id, &err);
74 if (err) {
75 goto out;
76 }
77
78out:
79 error_propagate(errp, err);
80}
81
82void visit_type_q_obj_job_cancel_arg_members(Visitor *v, q_obj_job_cancel_arg *obj, Error **errp)
83{
84 Error *err = NULL;
85
86 visit_type_str(v, "id", &obj->id, &err);
87 if (err) {
88 goto out;
89 }
90
91out:
92 error_propagate(errp, err);
93}
94
95void visit_type_q_obj_job_complete_arg_members(Visitor *v, q_obj_job_complete_arg *obj, Error **errp)
96{
97 Error *err = NULL;
98
99 visit_type_str(v, "id", &obj->id, &err);
100 if (err) {
101 goto out;
102 }
103
104out:
105 error_propagate(errp, err);
106}
107
108void visit_type_q_obj_job_dismiss_arg_members(Visitor *v, q_obj_job_dismiss_arg *obj, Error **errp)
109{
110 Error *err = NULL;
111
112 visit_type_str(v, "id", &obj->id, &err);
113 if (err) {
114 goto out;
115 }
116
117out:
118 error_propagate(errp, err);
119}
120
121void visit_type_q_obj_job_finalize_arg_members(Visitor *v, q_obj_job_finalize_arg *obj, Error **errp)
122{
123 Error *err = NULL;
124
125 visit_type_str(v, "id", &obj->id, &err);
126 if (err) {
127 goto out;
128 }
129
130out:
131 error_propagate(errp, err);
132}
133
134void visit_type_JobInfo_members(Visitor *v, JobInfo *obj, Error **errp)
135{
136 Error *err = NULL;
137
138 visit_type_str(v, "id", &obj->id, &err);
139 if (err) {
140 goto out;
141 }
142 visit_type_JobType(v, "type", &obj->type, &err);
143 if (err) {
144 goto out;
145 }
146 visit_type_JobStatus(v, "status", &obj->status, &err);
147 if (err) {
148 goto out;
149 }
150 visit_type_int(v, "current-progress", &obj->current_progress, &err);
151 if (err) {
152 goto out;
153 }
154 visit_type_int(v, "total-progress", &obj->total_progress, &err);
155 if (err) {
156 goto out;
157 }
158 if (visit_optional(v, "error", &obj->has_error)) {
159 visit_type_str(v, "error", &obj->error, &err);
160 if (err) {
161 goto out;
162 }
163 }
164
165out:
166 error_propagate(errp, err);
167}
168
169void visit_type_JobInfo(Visitor *v, const char *name, JobInfo **obj, Error **errp)
170{
171 Error *err = NULL;
172
173 visit_start_struct(v, name, (void **)obj, sizeof(JobInfo), &err);
174 if (err) {
175 goto out;
176 }
177 if (!*obj) {
178 goto out_obj;
179 }
180 visit_type_JobInfo_members(v, *obj, &err);
181 if (err) {
182 goto out_obj;
183 }
184 visit_check_struct(v, &err);
185out_obj:
186 visit_end_struct(v, (void **)obj);
187 if (err && visit_is_input(v)) {
188 qapi_free_JobInfo(*obj);
189 *obj = NULL;
190 }
191out:
192 error_propagate(errp, err);
193}
194
195void visit_type_JobInfoList(Visitor *v, const char *name, JobInfoList **obj, Error **errp)
196{
197 Error *err = NULL;
198 JobInfoList *tail;
199 size_t size = sizeof(**obj);
200
201 visit_start_list(v, name, (GenericList **)obj, size, &err);
202 if (err) {
203 goto out;
204 }
205
206 for (tail = *obj; tail;
207 tail = (JobInfoList *)visit_next_list(v, (GenericList *)tail, size)) {
208 visit_type_JobInfo(v, NULL, &tail->value, &err);
209 if (err) {
210 break;
211 }
212 }
213
214 if (!err) {
215 visit_check_list(v, &err);
216 }
217 visit_end_list(v, (void **)obj);
218 if (err && visit_is_input(v)) {
219 qapi_free_JobInfoList(*obj);
220 *obj = NULL;
221 }
222out:
223 error_propagate(errp, err);
224}
225
226/* Dummy declaration to prevent empty .o file */
227char qapi_dummy_qapi_visit_job_c;
228