コード例 #1
0
/**
 * gvir_config_domain_set_devices:
 * @domain: a #GVirConfigDomain
 * @devices: (in) (element-type LibvirtGConfig.DomainDevice):
 */
void gvir_config_domain_set_devices(GVirConfigDomain *domain,
                                    GList *devices)
{
    GVirConfigObject *devices_node;
    GList *it;

    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN(domain));

    if (devices == NULL) {
        gvir_config_object_delete_children(GVIR_CONFIG_OBJECT(domain),
                                           "devices",
                                           NULL);
        return;
    }
    devices_node = gvir_config_object_new(GVIR_CONFIG_TYPE_OBJECT,
                                          "devices", NULL);

    for (it = devices; it != NULL; it = it->next) {
        if (!GVIR_CONFIG_IS_DOMAIN_DEVICE(it->data)) {
            g_warn_if_reached();
            continue;
        }
        gvir_config_object_attach_add(devices_node,
                                      GVIR_CONFIG_OBJECT(it->data));
    }

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(domain),
                                      "devices",
                                      devices_node);
    g_object_unref(G_OBJECT(devices_node));
}
コード例 #2
0
/**
 * gvir_config_domain_controller_set_address:
 * @address: (allow-none):
 */
void gvir_config_domain_controller_set_address(GVirConfigDomainController *controller,
                                               GVirConfigDomainAddress *address)
{
    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_CONTROLLER(controller));
    g_return_if_fail(address == NULL || GVIR_CONFIG_IS_DOMAIN_ADDRESS(address));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(controller),
                                      "address",
                                      GVIR_CONFIG_OBJECT(address));
}
コード例 #3
0
/**
 * gvir_config_domain_set_os:
 * @domain: a #GVirConfigDomain
 * @os: (allow-none): the os configuration to set
 */
void gvir_config_domain_set_os(GVirConfigDomain *domain,
                               GVirConfigDomainOs *os)
{
    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN(domain));
    g_return_if_fail(os == NULL || GVIR_CONFIG_IS_DOMAIN_OS(os));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(domain),
                                      "os",
                                      GVIR_CONFIG_OBJECT(os));
}
コード例 #4
0
/**
 * gvir_config_domain_set_clock:
 * @domain: a #GVirConfigDomain
 * @klock: (allow-none):
 */
void gvir_config_domain_set_clock(GVirConfigDomain *domain,
                                  GVirConfigDomainClock *klock)
{
    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN(domain));
    g_return_if_fail(klock != NULL || GVIR_CONFIG_IS_DOMAIN_CLOCK(klock));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(domain),
                                      "clock",
                                      GVIR_CONFIG_OBJECT(klock));
}
コード例 #5
0
/**
 * gvir_config_domain_smartcard_set_address:
 * @address: (allow-none):
 */
void gvir_config_domain_smartcard_set_address(GVirConfigDomainRedirdev *redirdev,
                                              GVirConfigDomainAddress *address)
{
    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_REDIRDEV(redirdev));
    g_return_if_fail(address == NULL || GVIR_CONFIG_IS_DOMAIN_ADDRESS(address));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(redirdev),
                                      "address",
                                      GVIR_CONFIG_OBJECT(address));
}
コード例 #6
0
/**
 * gvir_config_storage_vol_set_backing_store:
 * @backing_store: (allow-none):
 */
void gvir_config_storage_vol_set_backing_store(GVirConfigStorageVol *vol,
                                               GVirConfigStorageVolBackingStore *backing_store)
{
    g_return_if_fail(GVIR_CONFIG_IS_STORAGE_VOL(vol));
    g_return_if_fail(backing_store == NULL ||
                     GVIR_CONFIG_IS_STORAGE_VOL_BACKING_STORE(backing_store));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(vol),
                                      "backingStore",
                                      GVIR_CONFIG_OBJECT(backing_store));
}
コード例 #7
0
/**
 * gvir_config_storage_vol_set_target:
 * @target: (allow-none):
 */
void gvir_config_storage_vol_set_target(GVirConfigStorageVol *vol,
                                        GVirConfigStorageVolTarget *target)
{
    g_return_if_fail(GVIR_CONFIG_IS_STORAGE_VOL(vol));
    g_return_if_fail(target == NULL ||
                     GVIR_CONFIG_IS_STORAGE_VOL_TARGET(target));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(vol),
                                      "target",
                                      GVIR_CONFIG_OBJECT(target));
}
コード例 #8
0
/**
 * gvir_config_domain_set_seclabel:
 * @domain: a #GVirConfigDomain
 * @seclabel: (allow-none): the security label configuration to set
 */
void gvir_config_domain_set_seclabel(GVirConfigDomain *domain,
                                     GVirConfigDomainSeclabel *seclabel)
{
    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN(domain));
    g_return_if_fail(seclabel == NULL ||
                     GVIR_CONFIG_IS_DOMAIN_SECLABEL(seclabel));

    gvir_config_object_attach_replace(GVIR_CONFIG_OBJECT(domain),
                                      "seclabel",
                                      GVIR_CONFIG_OBJECT(seclabel));
}