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 | |
18 | void 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 | |
25 | void 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 | |
32 | void 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 | |
39 | void 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 | |
52 | out: |
53 | error_propagate(errp, err); |
54 | } |
55 | |
56 | void 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 | |
65 | out: |
66 | error_propagate(errp, err); |
67 | } |
68 | |
69 | void 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 | |
78 | out: |
79 | error_propagate(errp, err); |
80 | } |
81 | |
82 | void 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 | |
91 | out: |
92 | error_propagate(errp, err); |
93 | } |
94 | |
95 | void 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 | |
104 | out: |
105 | error_propagate(errp, err); |
106 | } |
107 | |
108 | void 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 | |
117 | out: |
118 | error_propagate(errp, err); |
119 | } |
120 | |
121 | void 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 | |
130 | out: |
131 | error_propagate(errp, err); |
132 | } |
133 | |
134 | void 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 | |
165 | out: |
166 | error_propagate(errp, err); |
167 | } |
168 | |
169 | void 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); |
185 | out_obj: |
186 | visit_end_struct(v, (void **)obj); |
187 | if (err && visit_is_input(v)) { |
188 | qapi_free_JobInfo(*obj); |
189 | *obj = NULL; |
190 | } |
191 | out: |
192 | error_propagate(errp, err); |
193 | } |
194 | |
195 | void 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 | } |
222 | out: |
223 | error_propagate(errp, err); |
224 | } |
225 | |
226 | /* Dummy declaration to prevent empty .o file */ |
227 | char qapi_dummy_qapi_visit_job_c; |
228 | |