Ok, here's my substantially-reworked node device enumeration patch, this
time done with a proper understanding of the public-obj/Obj/Def
model :-) as last discussed here:
https://www.redhat.com/archives/libvir-list/2008-September/msg00398.html
I've broken it into the following pieces:
1-public-api additions to the public API
2-internal-api additions to the internal API
3-local-node-drivers the HAL & DeviceKit implementations
4-remote-node-driver the remote driver
5-virsh-support virsh support
6-python-bindings python bindings
Big differences from the last submission:
* public-obj/Obj/Def object model finally understood :-)
* capabilities structure now struct-ified, handled like
other Def bits
* using newfangled array-based lists for NodeDeviceObj's
* added flags args to various public APIs (as suggested by Dan V)
* "bus" folded into capabilities (as discussed w/Dan B)
* device "key" no longer exists - name is unique on node
Some pieces are still incomplete, but I thought it would be better to
post what I have since it's useful "as is". Here's what I know of
that's left to do:
* finish Python bindings (will get to Real Soon Now)
* submit Java bindings (I have them, and have been using them)
* implement virNodeDeviceCreate/Destroy (I have no plans for these)
* subscribe to HAL events & update dev state from them (next for me?)
* implement pci_bus/usb_bus capabilities (for PCI/USB controllers)
* DeviceKit implementation is barely a proof of concept
* need to resolve naming & other issues (see
https://www.redhat.com/archives/libvir-list/2008-September/msg00430.html
* ... and then fill in impl (no hurry; devkit immature now)
Dave