Lines Matching +full:- +full:v
7 * See the COPYING file in the top-level directory.
12 #include "qapi/clone-visitor.h"
13 #include "qapi/visitor-impl.h"
22 static QapiCloneVisitor *to_qcv(Visitor *v) in to_qcv() argument
24 return container_of(v, QapiCloneVisitor, visitor); in to_qcv()
27 static bool qapi_clone_start_struct(Visitor *v, const char *name, void **obj, in qapi_clone_start_struct() argument
30 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_start_struct()
33 assert(qcv->depth); in qapi_clone_start_struct()
41 qcv->depth++; in qapi_clone_start_struct()
45 static void qapi_clone_end(Visitor *v, void **obj) in qapi_clone_end() argument
47 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_end()
49 assert(qcv->depth); in qapi_clone_end()
51 qcv->depth--; in qapi_clone_end()
55 static bool qapi_clone_start_list(Visitor *v, const char *name, in qapi_clone_start_list() argument
59 return qapi_clone_start_struct(v, name, (void **)listp, size, errp); in qapi_clone_start_list()
62 static GenericList *qapi_clone_next_list(Visitor *v, GenericList *tail, in qapi_clone_next_list() argument
65 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_next_list()
67 assert(qcv->depth); in qapi_clone_next_list()
69 tail->next = g_memdup(tail->next, size); in qapi_clone_next_list()
70 return tail->next; in qapi_clone_next_list()
73 static bool qapi_clone_start_alternate(Visitor *v, const char *name, in qapi_clone_start_alternate() argument
77 return qapi_clone_start_struct(v, name, (void **)obj, size, errp); in qapi_clone_start_alternate()
80 static bool qapi_clone_type_int64(Visitor *v, const char *name, int64_t *obj, in qapi_clone_type_int64() argument
83 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_int64()
85 assert(qcv->depth); in qapi_clone_type_int64()
90 static bool qapi_clone_type_uint64(Visitor *v, const char *name, in qapi_clone_type_uint64() argument
93 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_uint64()
95 assert(qcv->depth); in qapi_clone_type_uint64()
100 static bool qapi_clone_type_bool(Visitor *v, const char *name, bool *obj, in qapi_clone_type_bool() argument
103 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_bool()
105 assert(qcv->depth); in qapi_clone_type_bool()
110 static bool qapi_clone_type_str(Visitor *v, const char *name, char **obj, in qapi_clone_type_str() argument
113 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_str()
115 assert(qcv->depth); in qapi_clone_type_str()
118 * Note that as long as qobject-output-visitor accepts NULL instead of in qapi_clone_type_str()
127 static bool qapi_clone_type_number(Visitor *v, const char *name, double *obj, in qapi_clone_type_number() argument
130 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_number()
132 assert(qcv->depth); in qapi_clone_type_number()
137 static bool qapi_clone_type_null(Visitor *v, const char *name, QNull **obj, in qapi_clone_type_null() argument
140 QapiCloneVisitor *qcv = to_qcv(v); in qapi_clone_type_null()
142 assert(qcv->depth); in qapi_clone_type_null()
147 static void qapi_clone_free(Visitor *v) in qapi_clone_free() argument
149 g_free(v); in qapi_clone_free()
154 QapiCloneVisitor *v; in qapi_clone_visitor_new() local
156 v = g_malloc0(sizeof(*v)); in qapi_clone_visitor_new()
158 v->visitor.type = VISITOR_CLONE; in qapi_clone_visitor_new()
159 v->visitor.start_struct = qapi_clone_start_struct; in qapi_clone_visitor_new()
160 v->visitor.end_struct = qapi_clone_end; in qapi_clone_visitor_new()
161 v->visitor.start_list = qapi_clone_start_list; in qapi_clone_visitor_new()
162 v->visitor.next_list = qapi_clone_next_list; in qapi_clone_visitor_new()
163 v->visitor.end_list = qapi_clone_end; in qapi_clone_visitor_new()
164 v->visitor.start_alternate = qapi_clone_start_alternate; in qapi_clone_visitor_new()
165 v->visitor.end_alternate = qapi_clone_end; in qapi_clone_visitor_new()
166 v->visitor.type_int64 = qapi_clone_type_int64; in qapi_clone_visitor_new()
167 v->visitor.type_uint64 = qapi_clone_type_uint64; in qapi_clone_visitor_new()
168 v->visitor.type_bool = qapi_clone_type_bool; in qapi_clone_visitor_new()
169 v->visitor.type_str = qapi_clone_type_str; in qapi_clone_visitor_new()
170 v->visitor.type_number = qapi_clone_type_number; in qapi_clone_visitor_new()
171 v->visitor.type_null = qapi_clone_type_null; in qapi_clone_visitor_new()
172 v->visitor.free = qapi_clone_free; in qapi_clone_visitor_new()
174 return &v->visitor; in qapi_clone_visitor_new()
179 Visitor *v = qapi_clone_visitor_new(); in qapi_clone_members_visitor_new() local
180 to_qcv(v)->depth++; in qapi_clone_members_visitor_new()
181 return v; in qapi_clone_members_visitor_new()