1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
2
3/*
4 * Schema-defined QAPI/QMP commands
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/visitor.h"
15#include "qapi/qmp/qdict.h"
16#include "qapi/qobject-output-visitor.h"
17#include "qapi/qobject-input-visitor.h"
18#include "qapi/dealloc-visitor.h"
19#include "qapi/error.h"
20#include "qapi-visit-trace.h"
21#include "qapi-commands-trace.h"
22
23
24static void qmp_marshal_output_TraceEventInfoList(TraceEventInfoList *ret_in, QObject **ret_out, Error **errp)
25{
26 Error *err = NULL;
27 Visitor *v;
28
29 v = qobject_output_visitor_new(ret_out);
30 visit_type_TraceEventInfoList(v, "unused", &ret_in, &err);
31 if (!err) {
32 visit_complete(v, ret_out);
33 }
34 error_propagate(errp, err);
35 visit_free(v);
36 v = qapi_dealloc_visitor_new();
37 visit_type_TraceEventInfoList(v, "unused", &ret_in, NULL);
38 visit_free(v);
39}
40
41void qmp_marshal_trace_event_get_state(QDict *args, QObject **ret, Error **errp)
42{
43 Error *err = NULL;
44 TraceEventInfoList *retval;
45 Visitor *v;
46 q_obj_trace_event_get_state_arg arg = {0};
47
48 v = qobject_input_visitor_new(QOBJECT(args));
49 visit_start_struct(v, NULL, NULL, 0, &err);
50 if (err) {
51 goto out;
52 }
53 visit_type_q_obj_trace_event_get_state_arg_members(v, &arg, &err);
54 if (!err) {
55 visit_check_struct(v, &err);
56 }
57 visit_end_struct(v, NULL);
58 if (err) {
59 goto out;
60 }
61
62 retval = qmp_trace_event_get_state(arg.name, arg.has_vcpu, arg.vcpu, &err);
63 if (err) {
64 goto out;
65 }
66
67 qmp_marshal_output_TraceEventInfoList(retval, ret, &err);
68
69out:
70 error_propagate(errp, err);
71 visit_free(v);
72 v = qapi_dealloc_visitor_new();
73 visit_start_struct(v, NULL, NULL, 0, NULL);
74 visit_type_q_obj_trace_event_get_state_arg_members(v, &arg, NULL);
75 visit_end_struct(v, NULL);
76 visit_free(v);
77}
78
79void qmp_marshal_trace_event_set_state(QDict *args, QObject **ret, Error **errp)
80{
81 Error *err = NULL;
82 Visitor *v;
83 q_obj_trace_event_set_state_arg arg = {0};
84
85 v = qobject_input_visitor_new(QOBJECT(args));
86 visit_start_struct(v, NULL, NULL, 0, &err);
87 if (err) {
88 goto out;
89 }
90 visit_type_q_obj_trace_event_set_state_arg_members(v, &arg, &err);
91 if (!err) {
92 visit_check_struct(v, &err);
93 }
94 visit_end_struct(v, NULL);
95 if (err) {
96 goto out;
97 }
98
99 qmp_trace_event_set_state(arg.name, arg.enable, arg.has_ignore_unavailable, arg.ignore_unavailable, arg.has_vcpu, arg.vcpu, &err);
100
101out:
102 error_propagate(errp, err);
103 visit_free(v);
104 v = qapi_dealloc_visitor_new();
105 visit_start_struct(v, NULL, NULL, 0, NULL);
106 visit_type_q_obj_trace_event_set_state_arg_members(v, &arg, NULL);
107 visit_end_struct(v, NULL);
108 visit_free(v);
109}
110
111/* Dummy declaration to prevent empty .o file */
112char qapi_dummy_qapi_commands_trace_c;
113