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 | |
24 | static 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 | |
41 | void 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 | |
69 | out: |
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 | |
79 | void 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 | |
101 | out: |
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 */ |
112 | char qapi_dummy_qapi_commands_trace_c; |
113 | |