Searched hist:"8 b098b97" (Results 1 – 2 of 2) sorted by relevance
/openbmc/phosphor-power/ |
H A D | compatible_system_types_finder.hpp | 8b098b97 Mon Aug 05 14:17:34 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> Add support for re-finding interfaces/system types
The DBusInterfacesFinder class simplifies the task of finding interface instances on D-Bus. Similarly, the CompatibleSystemTypesFinder class simplifies the task of finding the list of compatible system types for the current system.
Both classes initially find the D-Bus objects that already exist at the time the classes are constructed. They use InterfacesAdded listeners to find new D-Bus objects that are created later.
This behavior handles most use cases. However, sometimes a caller may not be receiving D-Bus signals, but they still need to find new D-Bus objects that have been created. For example, the caller may be looping within a timeout period waiting for a D-Bus object to be created.
To handle this use case, add `refind()` methods to both classes that will re-find all matching D-Bus objects that now exist, including those created since the classes were constructed.
Tested: * DBusInterfacesFinder * Verify finds all interface instances that exist at time class is constructed * None found * Instances found * Verify finds new interface instances via InterfacesAdded listener * Verify refind() finds all interface instances, including those that were created after the class was constructed. * None found * Instances found * CompatibleSystemTypesFinder * Verify finds all compatible system type lists that exist at time class is constructed * None found * Lists found * Verify finds new compatible system type lists via InterfacesAdded listener * Verify refind() finds all compatible system type lists, including those that were created after the class was constructed. * None found * Lists found
Change-Id: I975b37524f687e6d2f3d4ff48abb5e4486a84bfe Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|
H A D | dbus_interfaces_finder.hpp | 8b098b97 Mon Aug 05 14:17:34 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> Add support for re-finding interfaces/system types
The DBusInterfacesFinder class simplifies the task of finding interface instances on D-Bus. Similarly, the CompatibleSystemTypesFinder class simplifies the task of finding the list of compatible system types for the current system.
Both classes initially find the D-Bus objects that already exist at the time the classes are constructed. They use InterfacesAdded listeners to find new D-Bus objects that are created later.
This behavior handles most use cases. However, sometimes a caller may not be receiving D-Bus signals, but they still need to find new D-Bus objects that have been created. For example, the caller may be looping within a timeout period waiting for a D-Bus object to be created.
To handle this use case, add `refind()` methods to both classes that will re-find all matching D-Bus objects that now exist, including those created since the classes were constructed.
Tested: * DBusInterfacesFinder * Verify finds all interface instances that exist at time class is constructed * None found * Instances found * Verify finds new interface instances via InterfacesAdded listener * Verify refind() finds all interface instances, including those that were created after the class was constructed. * None found * Instances found * CompatibleSystemTypesFinder * Verify finds all compatible system type lists that exist at time class is constructed * None found * Lists found * Verify finds new compatible system type lists via InterfacesAdded listener * Verify refind() finds all compatible system type lists, including those that were created after the class was constructed. * None found * Lists found
Change-Id: I975b37524f687e6d2f3d4ff48abb5e4486a84bfe Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|