Exemplo n.º 1
0
static void ovirt_api_class_init(OvirtApiClass *klass)
{
    GObjectClass *object_class = G_OBJECT_CLASS(klass);
    OvirtResourceClass *resource_class = OVIRT_RESOURCE_CLASS(klass);

    g_type_class_add_private(klass, sizeof(OvirtApiPrivate));

    object_class->dispose = ovirt_api_dispose;

    resource_class->init_from_xml = ovirt_api_init_from_xml;
}
Exemplo n.º 2
0
static gboolean ovirt_vm_pool_init_from_xml(OvirtResource *resource,
                                            RestXmlNode *node,
                                            GError **error)
{
    gboolean parsed_ok;
    OvirtResourceClass *parent_class;

    parsed_ok = ovirt_vm_pool_refresh_from_xml(OVIRT_VM_POOL(resource), node);
    if (!parsed_ok) {
        return FALSE;
    }
    parent_class = OVIRT_RESOURCE_CLASS(ovirt_vm_pool_parent_class);

    return parent_class->init_from_xml(resource, node, error);
}
Exemplo n.º 3
0
static gboolean ovirt_api_init_from_xml(OvirtResource *resource,
                                       RestXmlNode *node,
                                       GError **error)
{
    OvirtResourceClass *parent_class;
#if 0
    gboolean parsed_ok;

    parsed_ok = ovirt_api_refresh_from_xml(OVIRT_API(resource), node);
    if (!parsed_ok) {
        return FALSE;
    }
#endif
    parent_class = OVIRT_RESOURCE_CLASS(ovirt_api_parent_class);

    return parent_class->init_from_xml(resource, node, error);
}
Exemplo n.º 4
0
static void ovirt_vm_pool_class_init(OvirtVmPoolClass *klass)
{
    GObjectClass *object_class = G_OBJECT_CLASS(klass);
    OvirtResourceClass *resource_class = OVIRT_RESOURCE_CLASS(klass);

    g_type_class_add_private(klass, sizeof(OvirtVmPoolPrivate));

    resource_class->init_from_xml = ovirt_vm_pool_init_from_xml;
    object_class->dispose = ovirt_vm_pool_dispose;
    object_class->get_property = ovirt_vm_pool_get_property;
    object_class->set_property = ovirt_vm_pool_set_property;

    g_object_class_install_property(object_class,
                                    PROP_SIZE,
                                    g_param_spec_uint("size",
                                                      "Size of pool",
                                                      "The number of VMs in the pool",
                                                      0,
                                                      G_MAXUINT,
                                                      0,
                                                      G_PARAM_READWRITE));
    g_object_class_install_property(object_class,
                                    PROP_PRESTARTED_VMS,
                                    g_param_spec_uint("prestarted_vms",
                                                      "Prestarted VMs",
                                                      "The number of VMs prestarted in the pool",
                                                      0,
                                                      G_MAXUINT,
                                                      0,
                                                      G_PARAM_READWRITE));
    g_object_class_install_property(object_class,
                                    PROP_MAX_USER_VMS,
                                    g_param_spec_uint("max_user_vms",
                                                      "Max VMs per user",
                                                      "The number of VMs a user can allocate from the pool",
                                                      0,
                                                      G_MAXUINT,
                                                      0,
                                                      G_PARAM_READWRITE));
}
Exemplo n.º 5
0
static gboolean ovirt_cdrom_init_from_xml(OvirtResource *resource,
                                          RestXmlNode *node,
                                          GError **error)
{
    char *name;
    OvirtResourceClass *parent_class;
    OvirtXmlElement cdrom_elements[] = {
        { .prop_name = "file",
          .xml_path = "file",
          .xml_attr = "id",
        },
        { NULL , },
    };

    parent_class = OVIRT_RESOURCE_CLASS(ovirt_cdrom_parent_class);

    if (!parent_class->init_from_xml(resource, node, error))
        return FALSE;

    ovirt_rest_xml_node_parse(node, G_OBJECT(resource), cdrom_elements);

    g_object_get(G_OBJECT(resource), "name", &name, NULL);
    if (name == NULL) {
        /* Build up fake name as ovirt_collection_refresh_from_xml()
         * expects it to be set (it uses it as a hash table key), but
         * it's not set in oVirt XML as of 3.2. There can only be
         * one cdrom node in an oVirt VM so this should be good
         * enough for now
         */
        g_debug("Setting fake 'name' for cdrom resource");