v2: https://www.redhat.com/archives/libvir-list/2017-June/msg00070.html Pushed the first two patches from v2 since they were ACK'd Changes in this series... Fixed a couple of nits from former patch 3 & 4, but since they weren't ACK'd they're here again, but now as patch 1 & 2. Patch 3 & 4 are an adjusted version of the former patches 5 & 6. Instead of going with generic @primaryKey and @secondaryKey names, this patch will use @uuid and @name for the field names. Additionally instead of using PoolableHashElement as a name, go with a much shorter LookupKeys. So far the LookupKeys{UUID|Name} API's (patch 4) aren't used and could be dropped if it's felt no future API would need them. Former patches 7 & 8 dealing with the generic @def and @newDef object were tossed away and the rest of the logic I'd be changing for virObject is presented as the remaining (new to reviewers) patches 5 -> 16. The object is named using LookupHash which is a follow-on of the LookupKeys. If someone has better suggestion for names, then please provide suggestions rather than just saying I hate the name! It's not my favorite name, but it does convey what it is and IMO is better than just Element. The patches also include the Interface object changes to illustrate that the changes do work. I've run them through the various "interface" tests from the Avocado VT test suite. I also did something similar for the Secret object in my private branch, but did not include that since there are 8 patches on list waiting to be reviewed first. John Ferlan (16): util: Generate a common internal only error print util: Add safety net of checks to ensure valid object util: Introduce virObjectLookupKeys util: Introduce virObjectLookupKeysGet{UUID|Name} interface: Use virObjectLookupKeys util: Introduce virObjectLookupKeys*Active API's interface: Use virObjectLookupKeys*Active util: Introduce virObjectLookupHash util: Introduce virObjectLoookupHashGet{UUID|Name} util: Introduce virObjectLookupHash{Add|Remove} util: Introduce virObjectLookupHashFind util: Introduce virObjectLookupHashForEach util: Introduce virObjectLookupHashSearch util: Introduce virObjectLookupHashClone interface: Use virObjectLookupHash test: Clean up test driver Interface interactions src/conf/virinterfaceobj.c | 332 ++++++++++++++---------- src/libvirt_private.syms | 16 ++ src/test/test_driver.c | 55 +--- src/util/virobject.c | 613 ++++++++++++++++++++++++++++++++++++++++++++- src/util/virobject.h | 111 ++++++++ 5 files changed, 938 insertions(+), 189 deletions(-) -- 2.9.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list