tree 6acd29ac95a7b6ac33121f62231534a718a4af57
parent 6a39e8c727efb53b5902904d932c6308eb7f393e
author Matt Spinler <spinler@us.ibm.com> 1543524853 -0600
committer Matt Spinler <spinler@us.ibm.com> 1543525516 -0600

Filter results of GetAncestors

As with GetSubTree, GetAncestors should only return the object
paths with their services and interfaces for just the services
that implement the interfaces passed into the function.

The previous code was returning all services/interfaces for an
object path that was an ancestor instead of just the services
that actually provided that interface.

Tested:  Calling GetAncestors on /xyz/openbmc_project/ with
         the ObjectManager interface filter would now only
         return ancestors that actually had the ObjectManager
         interface.

Change-Id: Ie80e78ac76a6fe9d474e6b34bc4555dca490ac51
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
