Ticket #227 (closed defect: invalid)
CobiaCollection does not return items by correct interface
Reported by: | jasper | Owned by: | jasper |
---|---|---|---|
Priority: | major | Milestone: | Phase III WP1 |
Component: | COBIA core | Version: | 1.2.0.14 |
Keywords: | Cc: |
Description
ICapeCollection in the COBIA IDL is templated and strongly types. This implies that a collection of ICapeUnitPort for example (declated as ICapeCollection<ICapeUnitPort>) will return an ICapeUnitPort interface for an object in the collection.
ICobiaCollection is designed to be 1:1 compatible with ICapeCollection. It therefore too supposedly must return objects by their property interface.
The two ICobiaCollection implementations (type library enumerator, returning ICapeLibraryDetails, and PMC enumerator, returning ICapePMCRegistrationDetails) must also return the appropriate interfaces. Which they do when getting items by index, but the unordered_map that provides elements by name was casting interfaces to the ICapeInterface, therefore losing function pointers to the remaining functions.
Incorrect assessment, the interface copying problem was on the client side