mapper: Fix GetSubTree bug in the c++ mapper

In cases where multiple daemons expose the same interface, there was a
bug where, if an interface filter was applied, only the first found
daemon would be returned.  This resulted in sub-optimal behavior when
searching for things like ObjectManager, that might exist in a lot of
daemons.

Tested By: Before Patch: root@wolfpass:/# dbus-send --system
--print-reply --dest=xyz.openbmc_project.ObjectMapper
/xyz/openbmc_project/object_mapper
xyz.openbmc_project.ObjectMapper.GetSubTree string:"/" int32:1
array:string:org.freedesktop.DBus.ObjectManager

Returns 1 entry

After Patch:

root@wolfpass:/# dbus-send --system --print-reply
--dest=xyz.openbmc_project.ObjectMapper
/xyz/openbmc_project/object_mapper
xyz.openbmc_project.ObjectMapper.GetSubTree string:"/" int32:1
array:string:org.freedesktop.DBus.ObjectManager

returns 12 entries

Change-Id: I0b4e982649f03b0bacf35e26e4d7f310e644d6b8
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
1 file changed
tree: d0b180e68c899f762332cee2761dd737f1ed70a8
  1. fail-monitor/
  2. libmapper/
  3. obmc/
  4. src/
  5. .clang-format
  6. .gitignore
  7. bootstrap.sh
  8. configure.ac
  9. LICENSE
  10. MAINTAINERS
  11. Makefile.am
  12. phosphor-mapper
  13. README.md
  14. setup.cfg
  15. setup.py.in
README.md

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To clean the repository run `./bootstrap.sh clean`.