[Libvirt-cim] [PATCH 1 of 3] Add function to validate the client given object path o ComputerSystem
Heidi Eckhart
heidieck at linux.vnet.ibm.com
Tue Jan 15 14:11:54 UTC 2008
Kaitlin Rupert wrote:
> Heidi Eckhart wrote:.
>>
>> But your comments made me rethink about the patch. So I've
>> consolidated and reordered a bit.
>> - added a new function to libcmpiutil - cu_validate_ref(ref, inst) -
>> that does the check between the system instance and the client given
>> instance
>
> I think this is a good idea. It seems like it'll be useful in other
> places as well.
>
>> - get_domain() is now using the new libcmpiutil function
>> - the parameter CMPIInstance **inst is now used to "configure"
>> get_domain(); for internal usage the inst is returned and for
>> external usage this can be ignored by setting it to NULL
>> - validate_domain_ref() is now only an interface name for the client;
>> this could also be removed and the provider has then to call
>> get_domain(broker, ref, NULL) or simply ignores the returned
>> instance; but what I do not really like is, that this can confuse the
>> reader of the code; but I'm open for discussion and opinions
>
> As far as readability, I'm fine with this method. As an alternative,
> you could have get_domain() return an instance and take a CMPIStatus
> variable as a parameter. The provider can then choose to ignore the
> returned instance.
Ok, then it might not be that big issue to simply ignore the returned
instance in case of success.
> But that doesn't really fit with our existing code style.
>
If we leave get_domain() as it is now and only make it external, this
would follow the coding style of e.g. DevicePool - get_pool_inst(...) -
and EnabledLogicalElementCapabilities - get_ele_cap(...). So removing
validate_domain_ref() and making get_domain() externally available is a
good compromise.
--
Regards
Heidi Eckhart
Software Engineer
IBM Linux Technology Center - Open Hypervisor
More information about the Libvirt-cim
mailing list