Home
last modified time | relevance | path

Searched hist:"8 b098b97" (Results 1 – 2 of 2) sorted by relevance

/openbmc/phosphor-power/
H A Dcompatible_system_types_finder.hpp8b098b97 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 Ddbus_interfaces_finder.hpp8b098b97 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>