gboolean gvir_config_domain_set_custom_xml(GVirConfigDomain *domain, const gchar *xml, const gchar *ns, const gchar *ns_uri, GError **error) { GVirConfigObject *metadata; GVirConfigObject *custom_xml; g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN(domain), FALSE); g_return_val_if_fail(xml != NULL, FALSE); g_return_val_if_fail(error == NULL || *error == NULL, FALSE); metadata = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(domain), "metadata"); custom_xml = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_OBJECT, NULL, NULL, xml, error); if (custom_xml == NULL) { g_assert_not_reached(); g_object_unref(G_OBJECT(metadata)); return FALSE; } gvir_config_object_set_namespace(custom_xml, ns, ns_uri); gvir_config_object_delete_children(metadata, NULL, ns_uri); gvir_config_object_attach_add(metadata, custom_xml); g_object_unref(G_OBJECT(metadata)); g_object_unref(G_OBJECT(custom_xml)); return TRUE; }
void gvir_config_domain_video_set_vgamem(GVirConfigDomainVideo *video, guint kbytes) { GVirConfigObject *node; g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_VIDEO(video)); node = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(video), "model"); g_return_if_fail(GVIR_CONFIG_OBJECT(node)); gvir_config_object_set_attribute_with_type(node, "vgamem", G_TYPE_UINT, kbytes, NULL); g_object_unref(G_OBJECT(node)); }
void gvir_config_storage_pool_source_set_device_path(GVirConfigStoragePoolSource *source, const char *device_path) { GVirConfigObject *node; g_return_if_fail(GVIR_CONFIG_IS_STORAGE_POOL_SOURCE(source)); node = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(source), "device"); g_return_if_fail(GVIR_CONFIG_IS_OBJECT(node)); gvir_config_object_set_attribute(node, "path", device_path, NULL); g_object_unref(G_OBJECT(node)); }
void gvir_config_domain_add_device(GVirConfigDomain *domain, GVirConfigDomainDevice *device) { GVirConfigObject *devices_node; g_return_if_fail(GVIR_CONFIG_IS_DOMAIN(domain)); g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_DEVICE(device)); devices_node = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(domain), "devices"); gvir_config_object_attach_add(devices_node, GVIR_CONFIG_OBJECT(device)); g_object_unref(G_OBJECT(devices_node)); }