[Libvirt-cim] [PATCH 2 of 3] Add input support to DefneSystem()

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Mon Dec 1 18:05:06 UTC 2008


> KR> +
> KR> +        op = CMGetObjectPath(inst, NULL);
> KR> +        if (op == NULL) {
> KR> +                CU_DEBUG("Unable to determine class of InputRASD");
> KR> +                return NULL;
> KR> +        }
> KR> +
> KR> +        if ((cu_get_str_prop(inst, "Caption", &val) != CMPI_RC_OK) || 
> KR> +           (get_input_type_bus_from_cap(val, &type, &bus, &vtype) != 1)) {
> KR> +                if (STREQC(dev->dev.input.type, "mouse"))
> KR> +                        dev->dev.input.bus = strdup("ps2");
> KR> +                else if (STREQC(dev->dev.input.type, "tablet"))
> KR> +                        dev->dev.input.bus = strdup("usb");
> KR> +                else {
> KR> +                        msg = "Invalid value for ResourceSubType in InputRASD";
> KR> +                        goto out;
> KR> +                }
> KR> +        } else
> KR> +                dev->dev.input.bus = strdup(bus);
> 
> ...and this, we should make sure that an invalid input type properly
> rejects with the libvirt error when we try to define it.  Now that we
> have that infrastructure in place, it would be nice to make sure that
> if we don't do input checking here, a reasonable error makes it back
> to the user.
> 

This is handled by the error message patch you recently pushed into the 
tree.  You'll see failure messages like:

<ERROR CODE="1" DESCRIPTION="CIM_ERR_FAILED: Failed to define domain: 
internal error unknown input device type 'invalid'"/>

<ERROR CODE="1" DESCRIPTION="CIM_ERR_FAILED: Failed to define domain: 
internal error unknown input bus type 'invalid'"/>

I'll submit a new patch set to fix the other issues.

-- 
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list