extract PowerStatusMonitor::handlePowerMatch

Extract this inline lambda into a named function.

Add a debug log statement for easier testing.

Tested: power match is triggered on power state change.

```
ipmitool power on
```

```
Jul 30 14:14:33 s8030-bmc-30303035c0c1 entity-manager[696]: power match triggered
Jul 30 14:14:34 s8030-bmc-30303035c0c1 entity-manager[696]: power match triggered
Jul 30 14:14:34 s8030-bmc-30303035c0c1 entity-manager[696]: power match triggered
Jul 30 14:14:34 s8030-bmc-30303035c0c1 entity-manager[696]: power match triggered
```

It looks like it is triggered multiple times but that has nothing to do
with the changes done in this patch.

Change-Id: If7828a1195565485aeb890223342d6a135da2c46
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/src/entity_manager/power_status_monitor.cpp b/src/entity_manager/power_status_monitor.cpp
index cd8b9ca..93617d2 100644
--- a/src/entity_manager/power_status_monitor.cpp
+++ b/src/entity_manager/power_status_monitor.cpp
@@ -1,10 +1,12 @@
 #include "power_status_monitor.hpp"
 
+#include "phosphor-logging/lg2.hpp"
 #include "utils.hpp"
 
-#include <boost/algorithm/string/predicate.hpp>
 #include <sdbusplus/bus/match.hpp>
 
+#include <flat_map>
+
 namespace power
 {
 
@@ -22,6 +24,21 @@
     return powerStatusOn;
 }
 
+void PowerStatusMonitor::handlePowerMatch(sdbusplus::message_t& message)
+{
+    lg2::debug("power match triggered");
+
+    std::string objectName;
+    std::flat_map<std::string, std::variant<std::string>> values;
+    message.read(objectName, values);
+    auto findState = values.find(power::property);
+    if (findState != values.end())
+    {
+        powerStatusOn =
+            std::get<std::string>(findState->second).ends_with("Running");
+    }
+}
+
 void PowerStatusMonitor::setupPowerMatch(
     const std::shared_ptr<sdbusplus::asio::connection>& conn)
 {
@@ -31,18 +48,7 @@
             std::string(em_utils::properties::interface) + "',path='" +
             std::string(power::path) + "',arg0='" +
             std::string(power::interface) + "'",
-        [this](sdbusplus::message_t& message) {
-            std::string objectName;
-            boost::container::flat_map<std::string, std::variant<std::string>>
-                values;
-            message.read(objectName, values);
-            auto findState = values.find(power::property);
-            if (findState != values.end())
-            {
-                powerStatusOn = boost::ends_with(
-                    std::get<std::string>(findState->second), "Running");
-            }
-        });
+        std::bind_front(&PowerStatusMonitor::handlePowerMatch, this));
 
     conn->async_method_call(
         [this](boost::system::error_code ec,
@@ -51,8 +57,7 @@
             {
                 return;
             }
-            powerStatusOn =
-                boost::ends_with(std::get<std::string>(state), "Running");
+            powerStatusOn = std::get<std::string>(state).ends_with("Running");
         },
         power::busname, power::path, em_utils::properties::interface,
         em_utils::properties::get, power::interface, power::property);
diff --git a/src/entity_manager/power_status_monitor.hpp b/src/entity_manager/power_status_monitor.hpp
index e70031e..0955607 100644
--- a/src/entity_manager/power_status_monitor.hpp
+++ b/src/entity_manager/power_status_monitor.hpp
@@ -14,6 +14,8 @@
         const std::shared_ptr<sdbusplus::asio::connection>& conn);
 
   private:
+    void handlePowerMatch(sdbusplus::message_t& message);
+
     bool powerStatusOn = false;
     std::unique_ptr<sdbusplus::bus::match_t> powerMatch = nullptr;
 };