这篇教程C++ visit_end_struct函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中visit_end_struct函数的典型用法代码示例。如果您正苦于以下问题:C++ visit_end_struct函数的具体用法?C++ visit_end_struct怎么用?C++ visit_end_struct使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了visit_end_struct函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: visit_type_PciDeviceInfovoid visit_type_PciDeviceInfo(Visitor *m, PciDeviceInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "PciDeviceInfo", name, sizeof(PciDeviceInfo), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->bus : NULL, "bus", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->slot : NULL, "slot", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->function : NULL, "function", errp); visit_start_struct(m, NULL, "", "class_info", 0, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->class_info.has_desc : NULL, "desc", errp); if ((*obj)->class_info.has_desc) { visit_type_str(m, (obj && *obj) ? &(*obj)->class_info.desc : NULL, "desc", errp); } visit_end_optional(m, errp); visit_type_int(m, (obj && *obj) ? &(*obj)->class_info.class : NULL, "class", errp); visit_end_struct(m, errp); visit_start_struct(m, NULL, "", "id", 0, errp); visit_type_int(m, (obj && *obj) ? &(*obj)->id.device : NULL, "device", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->id.vendor : NULL, "vendor", errp); visit_end_struct(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_irq : NULL, "irq", errp); if ((*obj)->has_irq) { visit_type_int(m, (obj && *obj) ? &(*obj)->irq : NULL, "irq", errp); } visit_end_optional(m, errp); visit_type_str(m, (obj && *obj) ? &(*obj)->qdev_id : NULL, "qdev_id", errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_pci_bridge : NULL, "pci_bridge", errp); if ((*obj)->has_pci_bridge) { visit_type_PciBridgeInfo(m, (obj && *obj) ? &(*obj)->pci_bridge : NULL, "pci_bridge", errp); } visit_end_optional(m, errp); visit_type_PciMemoryRegionList(m, (obj && *obj) ? &(*obj)->regions : NULL, "regions", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:32,
示例2: balloon_stats_get_allstatic void balloon_stats_get_all(Object *obj, struct Visitor *v, void *opaque, const char *name, Error **errp){ Error *err = NULL; VirtIOBalloon *s = opaque; int i; visit_start_struct(v, NULL, "guest-stats", name, 0, &err); if (err) { goto out; } visit_type_int(v, &s->stats_last_update, "last-update", &err); if (err) { goto out_end; } visit_start_struct(v, NULL, NULL, "stats", 0, &err); if (err) { goto out_end; } for (i = 0; !err && i < VIRTIO_BALLOON_S_NR; i++) { visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i], &err); } error_propagate(errp, err); err = NULL; visit_end_struct(v, &err);out_end: error_propagate(errp, err); err = NULL; visit_end_struct(v, &err);out: error_propagate(errp, err);}
开发者ID:C2Devel,项目名称:qemu-kvm,代码行数:35,
示例3: visit_type_VersionInfovoid visit_type_VersionInfo(Visitor *m, VersionInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "VersionInfo", name, sizeof(VersionInfo), errp); visit_start_struct(m, NULL, "", "qemu", 0, errp); visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.major : NULL, "major", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.minor : NULL, "minor", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.micro : NULL, "micro", errp); visit_end_struct(m, errp); visit_type_str(m, (obj && *obj) ? &(*obj)->package : NULL, "package", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:11,
示例4: visit_type_TestStructstatic void visit_type_TestStruct(Visitor *v, TestStruct **obj, const char *name, Error **errp){ Error *err = NULL; visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct), &err); if (err) { goto out; } visit_type_int(v, &(*obj)->integer, "integer", &err); if (err) { goto out_end; } visit_type_bool(v, &(*obj)->boolean, "boolean", &err); if (err) { goto out_end; } visit_type_str(v, &(*obj)->string, "string", &err);out_end: error_propagate(errp, err); err = NULL; visit_end_struct(v, &err);out: error_propagate(errp, err);}
开发者ID:Acidburn0zzz,项目名称:qemu,代码行数:27,
示例5: visit_type_KvmInfovoid visit_type_KvmInfo(Visitor *m, KvmInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "KvmInfo", name, sizeof(KvmInfo), errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->enabled : NULL, "enabled", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->present : NULL, "present", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,
示例6: visit_type_PciMemoryRangevoid visit_type_PciMemoryRange(Visitor *m, PciMemoryRange ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "PciMemoryRange", name, sizeof(PciMemoryRange), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->base : NULL, "base", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->limit : NULL, "limit", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,
示例7: visit_type_VncInfovoid visit_type_VncInfo(Visitor *m, VncInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "VncInfo", name, sizeof(VncInfo), errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->enabled : NULL, "enabled", errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_host : NULL, "host", errp); if ((*obj)->has_host) { visit_type_str(m, (obj && *obj) ? &(*obj)->host : NULL, "host", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_family : NULL, "family", errp); if ((*obj)->has_family) { visit_type_str(m, (obj && *obj) ? &(*obj)->family : NULL, "family", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_service : NULL, "service", errp); if ((*obj)->has_service) { visit_type_str(m, (obj && *obj) ? &(*obj)->service : NULL, "service", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_auth : NULL, "auth", errp); if ((*obj)->has_auth) { visit_type_str(m, (obj && *obj) ? &(*obj)->auth : NULL, "auth", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_clients : NULL, "clients", errp); if ((*obj)->has_clients) { visit_type_VncClientInfoList(m, (obj && *obj) ? &(*obj)->clients : NULL, "clients", errp); } visit_end_optional(m, errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:31,
示例8: visit_type_ChardevInfovoid visit_type_ChardevInfo(Visitor *m, ChardevInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "ChardevInfo", name, sizeof(ChardevInfo), errp); visit_type_str(m, (obj && *obj) ? &(*obj)->label : NULL, "label", errp); visit_type_str(m, (obj && *obj) ? &(*obj)->filename : NULL, "filename", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,
示例9: visit_type_TestStructstatic void visit_type_TestStruct(Visitor *v, TestStruct **obj, const char *name, Error **errp){ visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct), errp); visit_type_int(v, &(*obj)->x, "x", errp); visit_type_int(v, &(*obj)->y, "y", errp); visit_end_struct(v, errp);}
开发者ID:3a9LL,项目名称:panda,代码行数:7,
示例10: test_visitor_in_nullstatic void test_visitor_in_null(TestInputVisitorData *data, const void *unused){ Visitor *v; Error *err = NULL; char *tmp; /* * FIXME: Since QAPI doesn't know the 'null' type yet, we can't * test visit_type_null() by reading into a QAPI struct then * checking that it was populated correctly. The best we can do * for now is ensure that we consumed null from the input, proven * by the fact that we can't re-read the key; and that we detect * when input is not null. */ v = visitor_input_test_init(data, "{ 'a': null, 'b': '' }"); visit_start_struct(v, NULL, NULL, 0, &error_abort); visit_type_null(v, "a", &error_abort); visit_type_str(v, "a", &tmp, &err); g_assert(!tmp); error_free_or_abort(&err); visit_type_null(v, "b", &err); error_free_or_abort(&err); visit_check_struct(v, &error_abort); visit_end_struct(v, NULL);}
开发者ID:GamerSource,项目名称:qemu,代码行数:27,
示例11: visit_type_PciInfovoid visit_type_PciInfo(Visitor *m, PciInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "PciInfo", name, sizeof(PciInfo), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->bus : NULL, "bus", errp); visit_type_PciDeviceInfoList(m, (obj && *obj) ? &(*obj)->devices : NULL, "devices", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,
示例12: visit_type_CpuInfovoid visit_type_CpuInfo(Visitor *m, CpuInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "CpuInfo", name, sizeof(CpuInfo), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->CPU : NULL, "CPU", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->current : NULL, "current", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->halted : NULL, "halted", errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_pc : NULL, "pc", errp); if ((*obj)->has_pc) { visit_type_int(m, (obj && *obj) ? &(*obj)->pc : NULL, "pc", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_nip : NULL, "nip", errp); if ((*obj)->has_nip) { visit_type_int(m, (obj && *obj) ? &(*obj)->nip : NULL, "nip", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_npc : NULL, "npc", errp); if ((*obj)->has_npc) { visit_type_int(m, (obj && *obj) ? &(*obj)->npc : NULL, "npc", errp); } visit_end_optional(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_PC : NULL, "PC", errp); if ((*obj)->has_PC) { visit_type_int(m, (obj && *obj) ? &(*obj)->PC : NULL, "PC", errp); } visit_end_optional(m, errp); visit_type_int(m, (obj && *obj) ? &(*obj)->thread_id : NULL, "thread_id", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:29,
示例13: visit_type_MigrationStatsvoid visit_type_MigrationStats(Visitor *m, MigrationStats ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "MigrationStats", name, sizeof(MigrationStats), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->transferred : NULL, "transferred", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->remaining : NULL, "remaining", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->total : NULL, "total", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:8,
示例14: visit_type_StatusInfovoid visit_type_StatusInfo(Visitor *m, StatusInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "StatusInfo", name, sizeof(StatusInfo), errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->running : NULL, "running", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->singlestep : NULL, "singlestep", errp); visit_type_RunState(m, (obj && *obj) ? &(*obj)->status : NULL, "status", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:8,
示例15: visit_type_PciBridgeInfovoid visit_type_PciBridgeInfo(Visitor *m, PciBridgeInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "PciBridgeInfo", name, sizeof(PciBridgeInfo), errp); visit_start_struct(m, NULL, "", "bus", 0, errp); visit_type_int(m, (obj && *obj) ? &(*obj)->bus.number : NULL, "number", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->bus.secondary : NULL, "secondary", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->bus.subordinate : NULL, "subordinate", errp); visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.io_range : NULL, "io_range", errp); visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.memory_range : NULL, "memory_range", errp); visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.prefetchable_range : NULL, "prefetchable_range", errp); visit_end_struct(m, errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_devices : NULL, "devices", errp); if ((*obj)->has_devices) { visit_type_PciDeviceInfoList(m, (obj && *obj) ? &(*obj)->devices : NULL, "devices", errp); } visit_end_optional(m, errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:18,
示例16: visit_type_MouseInfovoid visit_type_MouseInfo(Visitor *m, MouseInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "MouseInfo", name, sizeof(MouseInfo), errp); visit_type_str(m, (obj && *obj) ? &(*obj)->name : NULL, "name", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->index : NULL, "index", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->current : NULL, "current", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->absolute : NULL, "absolute", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:9,
示例17: visit_type_NameInfovoid visit_type_NameInfo(Visitor *m, NameInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "NameInfo", name, sizeof(NameInfo), errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_name : NULL, "name", errp); if ((*obj)->has_name) { visit_type_str(m, (obj && *obj) ? &(*obj)->name : NULL, "name", errp); } visit_end_optional(m, errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:10,
示例18: visit_type_TestStructstatic void visit_type_TestStruct(Visitor *v, TestStruct **obj, const char *name, Error **errp){ visit_start_struct(v, (void **)obj, NULL, name, sizeof(TestStruct), errp); visit_type_int(v, &(*obj)->integer, "integer", errp); visit_type_bool(v, &(*obj)->boolean, "boolean", errp); visit_type_str(v, &(*obj)->string, "string", errp); visit_end_struct(v, errp);}
开发者ID:AlexWWW,项目名称:qemu-linaro-clone,代码行数:11,
示例19: visit_type_SpiceChannelvoid visit_type_SpiceChannel(Visitor *m, SpiceChannel ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "SpiceChannel", name, sizeof(SpiceChannel), errp); visit_type_str(m, (obj && *obj) ? &(*obj)->host : NULL, "host", errp); visit_type_str(m, (obj && *obj) ? &(*obj)->family : NULL, "family", errp); visit_type_str(m, (obj && *obj) ? &(*obj)->port : NULL, "port", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->connection_id : NULL, "connection-id", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->channel_type : NULL, "channel-type", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->channel_id : NULL, "channel-id", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->tls : NULL, "tls", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:12,
示例20: prop_get_fdtstatic void prop_get_fdt(Object *obj, Visitor *v, void *opaque, const char *name, Error **errp){ sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj); int fdt_offset_next, fdt_offset, fdt_depth; void *fdt; if (!drc->fdt) { return; } fdt = drc->fdt; fdt_offset = drc->fdt_start_offset; fdt_depth = 0; do { const char *name = NULL; const struct fdt_property *prop = NULL; int prop_len = 0, name_len = 0; uint32_t tag; tag = fdt_next_tag(fdt, fdt_offset, &fdt_offset_next); switch (tag) { case FDT_BEGIN_NODE: fdt_depth++; name = fdt_get_name(fdt, fdt_offset, &name_len); visit_start_struct(v, NULL, NULL, name, 0, NULL); break; case FDT_END_NODE: /* shouldn't ever see an FDT_END_NODE before FDT_BEGIN_NODE */ g_assert(fdt_depth > 0); visit_end_struct(v, NULL); fdt_depth--; break; case FDT_PROP: { int i; prop = fdt_get_property_by_offset(fdt, fdt_offset, &prop_len); name = fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); visit_start_list(v, name, NULL); for (i = 0; i < prop_len; i++) { visit_type_uint8(v, (uint8_t *)&prop->data[i], NULL, NULL); } visit_end_list(v, NULL); break; } default: error_setg(&error_abort, "device FDT in unexpected state: %d", tag); } fdt_offset = fdt_offset_next; } while (fdt_depth != 0);}
开发者ID:chelseaqwang,项目名称:qemu-tpm,代码行数:52,
示例21: balloon_stats_get_allstatic void balloon_stats_get_all(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp){ Error *err = NULL; VirtIOBalloon *s = opaque; int i; visit_start_struct(v, name, NULL, 0, &err); if (err) { goto out; } visit_type_int(v, "last-update", &s->stats_last_update, &err); if (err) { goto out_end; } visit_start_struct(v, "stats", NULL, 0, &err); if (err) { goto out_end; } for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) { visit_type_uint64(v, balloon_stat_names[i], &s->stats[i], &err); if (err) { goto out_nested; } } visit_check_struct(v, &err);out_nested: visit_end_struct(v, NULL); if (!err) { visit_check_struct(v, &err); }out_end: visit_end_struct(v, NULL);out: error_propagate(errp, err);}
开发者ID:MaddTheSane,项目名称:qemu,代码行数:38,
示例22: balloon_stats_get_allstatic void balloon_stats_get_all(Object *obj, struct Visitor *v, void *opaque, const char *name, Error **errp){ VirtIOBalloon *s = opaque; int i; if (!s->stats_last_update) { error_setg(errp, "guest hasn't updated any stats yet"); return; } visit_start_struct(v, NULL, "guest-stats", name, 0, errp); visit_type_int(v, &s->stats_last_update, "last-update", errp); visit_start_struct(v, NULL, NULL, "stats", 0, errp); for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) { visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i], errp); } visit_end_struct(v, errp); visit_end_struct(v, errp);}
开发者ID:slotfi64,项目名称:qemu,代码行数:23,
示例23: visit_type_BlockDeviceInfovoid visit_type_BlockDeviceInfo(Visitor *m, BlockDeviceInfo ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "BlockDeviceInfo", name, sizeof(BlockDeviceInfo), errp); visit_type_str(m, (obj && *obj) ? &(*obj)->file : NULL, "file", errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->ro : NULL, "ro", errp); visit_type_str(m, (obj && *obj) ? &(*obj)->drv : NULL, "drv", errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_backing_file : NULL, "backing_file", errp); if ((*obj)->has_backing_file) { visit_type_str(m, (obj && *obj) ? &(*obj)->backing_file : NULL, "backing_file", errp); } visit_end_optional(m, errp); visit_type_bool(m, (obj && *obj) ? &(*obj)->encrypted : NULL, "encrypted", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:14,
示例24: visit_type_BlockDeviceStatsvoid visit_type_BlockDeviceStats(Visitor *m, BlockDeviceStats ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "BlockDeviceStats", name, sizeof(BlockDeviceStats), errp); visit_type_int(m, (obj && *obj) ? &(*obj)->rd_bytes : NULL, "rd_bytes", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->wr_bytes : NULL, "wr_bytes", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->rd_operations : NULL, "rd_operations", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->wr_operations : NULL, "wr_operations", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->flush_operations : NULL, "flush_operations", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->flush_total_time_ns : NULL, "flush_total_time_ns", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->wr_total_time_ns : NULL, "wr_total_time_ns", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->rd_total_time_ns : NULL, "rd_total_time_ns", errp); visit_type_int(m, (obj && *obj) ? &(*obj)->wr_highest_offset : NULL, "wr_highest_offset", errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:14,
示例25: rtc_get_datestatic void rtc_get_date(DeviceState *dev, Visitor *v, void *opaque, const char *name, Error **errp){ ISADevice *isa = ISA_DEVICE(dev); RTCState *s = DO_UPCAST(RTCState, dev, isa); visit_start_struct(v, NULL, "struct tm", name, 0, errp); visit_type_int32(v, &s->current_tm.tm_year, "tm_year", errp); visit_type_int32(v, &s->current_tm.tm_mon, "tm_mon", errp); visit_type_int32(v, &s->current_tm.tm_mday, "tm_mday", errp); visit_type_int32(v, &s->current_tm.tm_hour, "tm_hour", errp); visit_type_int32(v, &s->current_tm.tm_min, "tm_min", errp); visit_type_int32(v, &s->current_tm.tm_sec, "tm_sec", errp); visit_end_struct(v, errp);}
开发者ID:ddk50,项目名称:qemu-qcas,代码行数:15,
示例26: qdict_clone_shallowObject *user_creatable_add(const QDict *qdict, Visitor *v, Error **errp){ char *type = NULL; char *id = NULL; Object *obj = NULL; Error *local_err = NULL; QDict *pdict; pdict = qdict_clone_shallow(qdict); visit_start_struct(v, NULL, NULL, 0, &local_err); if (local_err) { goto out; } qdict_del(pdict, "qom-type"); visit_type_str(v, "qom-type", &type, &local_err); if (local_err) { goto out_visit; } qdict_del(pdict, "id"); visit_type_str(v, "id", &id, &local_err); if (local_err) { goto out_visit; } visit_check_struct(v, &local_err); if (local_err) { goto out_visit; } obj = user_creatable_add_type(type, id, pdict, v, &local_err);out_visit: visit_end_struct(v, NULL);out: QDECREF(pdict); g_free(id); g_free(type); if (local_err) { error_propagate(errp, local_err); object_unref(obj); return NULL; } return obj;}
开发者ID:GamerSource,项目名称:qemu,代码行数:48,
示例27: visit_type_BlockStatsvoid visit_type_BlockStats(Visitor *m, BlockStats ** obj, const char *name, Error **errp){ visit_start_struct(m, (void **)obj, "BlockStats", name, sizeof(BlockStats), errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_device : NULL, "device", errp); if ((*obj)->has_device) { visit_type_str(m, (obj && *obj) ? &(*obj)->device : NULL, "device", errp); } visit_end_optional(m, errp); visit_type_BlockDeviceStats(m, (obj && *obj) ? &(*obj)->stats : NULL, "stats", errp); visit_start_optional(m, (obj && *obj) ? &(*obj)->has_parent : NULL, "parent", errp); if ((*obj)->has_parent) { visit_type_BlockStats(m, (obj && *obj) ? &(*obj)->parent : NULL, "parent", errp); } visit_end_optional(m, errp); visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:16,
示例28: visit_type_GuestAgentInfovoid visit_type_GuestAgentInfo(Visitor *m, GuestAgentInfo ** obj, const char *name, Error **errp){ if (!error_is_set(errp)) { Error *err = NULL; visit_start_struct(m, (void **)obj, "GuestAgentInfo", name, sizeof(GuestAgentInfo), &err); if (!err) { if (!obj || *obj) { visit_type_GuestAgentInfo_fields(m, obj, &err); error_propagate(errp, err); err = NULL; } /* Always call end_struct if start_struct succeeded. */ visit_end_struct(m, &err); } error_propagate(errp, err); }}
开发者ID:anshulmakkar,项目名称:vhost_user,代码行数:17,
示例29: rtc_get_datestatic void rtc_get_date(Object *obj, Visitor *v, void *opaque, const char *name, Error **errp){ RTCState *s = MC146818_RTC(obj); struct tm current_tm; rtc_update_time(s); rtc_get_time(s, ¤t_tm); visit_start_struct(v, NULL, "struct tm", name, 0, errp); visit_type_int32(v, ¤t_tm.tm_year, "tm_year", errp); visit_type_int32(v, ¤t_tm.tm_mon, "tm_mon", errp); visit_type_int32(v, ¤t_tm.tm_mday, "tm_mday", errp); visit_type_int32(v, ¤t_tm.tm_hour, "tm_hour", errp); visit_type_int32(v, ¤t_tm.tm_min, "tm_min", errp); visit_type_int32(v, ¤t_tm.tm_sec, "tm_sec", errp); visit_end_struct(v, errp);}
开发者ID:01org,项目名称:KVMGT-qemu,代码行数:17,
示例30: block_crypto_create_opts_initstatic QCryptoBlockCreateOptions *block_crypto_create_opts_init(QCryptoBlockFormat format, QemuOpts *opts, Error **errp){ OptsVisitor *ov; QCryptoBlockCreateOptions *ret = NULL; Error *local_err = NULL; ret = g_new0(QCryptoBlockCreateOptions, 1); ret->format = format; ov = opts_visitor_new(opts); visit_start_struct(opts_get_visitor(ov), NULL, NULL, 0, &local_err); if (local_err) { goto out; } switch (format) { case Q_CRYPTO_BLOCK_FORMAT_LUKS: visit_type_QCryptoBlockCreateOptionsLUKS_members( opts_get_visitor(ov), &ret->u.luks, &local_err); break; default: error_setg(&local_err, "Unsupported block format %d", format); break; } if (!local_err) { visit_check_struct(opts_get_visitor(ov), &local_err); } visit_end_struct(opts_get_visitor(ov)); out: if (local_err) { error_propagate(errp, local_err); qapi_free_QCryptoBlockCreateOptions(ret); ret = NULL; } opts_visitor_cleanup(ov); return ret;}
开发者ID:Isaac-Lozano,项目名称:qemu,代码行数:45,
注:本文中的visit_end_struct函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ visit_type_bool函数代码示例 C++ visitNodes函数代码示例 |