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-trace.h"
17
18void visit_type_TraceEventState(Visitor *v, const char *name, TraceEventState *obj, Error **errp)
19{
20 int value = *obj;
21 visit_type_enum(v, name, &value, &TraceEventState_lookup, errp);
22 *obj = value;
23}
24
25void visit_type_TraceEventInfo_members(Visitor *v, TraceEventInfo *obj, Error **errp)
26{
27 Error *err = NULL;
28
29 visit_type_str(v, "name", &obj->name, &err);
30 if (err) {
31 goto out;
32 }
33 visit_type_TraceEventState(v, "state", &obj->state, &err);
34 if (err) {
35 goto out;
36 }
37 visit_type_bool(v, "vcpu", &obj->vcpu, &err);
38 if (err) {
39 goto out;
40 }
41
42out:
43 error_propagate(errp, err);
44}
45
46void visit_type_TraceEventInfo(Visitor *v, const char *name, TraceEventInfo **obj, Error **errp)
47{
48 Error *err = NULL;
49
50 visit_start_struct(v, name, (void **)obj, sizeof(TraceEventInfo), &err);
51 if (err) {
52 goto out;
53 }
54 if (!*obj) {
55 goto out_obj;
56 }
57 visit_type_TraceEventInfo_members(v, *obj, &err);
58 if (err) {
59 goto out_obj;
60 }
61 visit_check_struct(v, &err);
62out_obj:
63 visit_end_struct(v, (void **)obj);
64 if (err && visit_is_input(v)) {
65 qapi_free_TraceEventInfo(*obj);
66 *obj = NULL;
67 }
68out:
69 error_propagate(errp, err);
70}
71
72void visit_type_q_obj_trace_event_get_state_arg_members(Visitor *v, q_obj_trace_event_get_state_arg *obj, Error **errp)
73{
74 Error *err = NULL;
75
76 visit_type_str(v, "name", &obj->name, &err);
77 if (err) {
78 goto out;
79 }
80 if (visit_optional(v, "vcpu", &obj->has_vcpu)) {
81 visit_type_int(v, "vcpu", &obj->vcpu, &err);
82 if (err) {
83 goto out;
84 }
85 }
86
87out:
88 error_propagate(errp, err);
89}
90
91void visit_type_TraceEventInfoList(Visitor *v, const char *name, TraceEventInfoList **obj, Error **errp)
92{
93 Error *err = NULL;
94 TraceEventInfoList *tail;
95 size_t size = sizeof(**obj);
96
97 visit_start_list(v, name, (GenericList **)obj, size, &err);
98 if (err) {
99 goto out;
100 }
101
102 for (tail = *obj; tail;
103 tail = (TraceEventInfoList *)visit_next_list(v, (GenericList *)tail, size)) {
104 visit_type_TraceEventInfo(v, NULL, &tail->value, &err);
105 if (err) {
106 break;
107 }
108 }
109
110 if (!err) {
111 visit_check_list(v, &err);
112 }
113 visit_end_list(v, (void **)obj);
114 if (err && visit_is_input(v)) {
115 qapi_free_TraceEventInfoList(*obj);
116 *obj = NULL;
117 }
118out:
119 error_propagate(errp, err);
120}
121
122void visit_type_q_obj_trace_event_set_state_arg_members(Visitor *v, q_obj_trace_event_set_state_arg *obj, Error **errp)
123{
124 Error *err = NULL;
125
126 visit_type_str(v, "name", &obj->name, &err);
127 if (err) {
128 goto out;
129 }
130 visit_type_bool(v, "enable", &obj->enable, &err);
131 if (err) {
132 goto out;
133 }
134 if (visit_optional(v, "ignore-unavailable", &obj->has_ignore_unavailable)) {
135 visit_type_bool(v, "ignore-unavailable", &obj->ignore_unavailable, &err);
136 if (err) {
137 goto out;
138 }
139 }
140 if (visit_optional(v, "vcpu", &obj->has_vcpu)) {
141 visit_type_int(v, "vcpu", &obj->vcpu, &err);
142 if (err) {
143 goto out;
144 }
145 }
146
147out:
148 error_propagate(errp, err);
149}
150
151/* Dummy declaration to prevent empty .o file */
152char qapi_dummy_qapi_visit_trace_c;
153