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