Don't use template for callback

Using template params for callbacks isn't worth the extra generated
code, and reduces our ability to make sure that function callbacks are
consistent.

In short order after this patchset, std::move_only_function will be
supported by gcc, which is the best of both worlds.

Change to std::function.

Tested: AccountService PATCH Password works properly.

No GET usages of this function.

Change-Id: I94dd99e5cfb65fabed7e569e04251bec4faf2fc3
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/include/dbus_utility.hpp b/include/dbus_utility.hpp
index 89cda89..be7efc2 100644
--- a/include/dbus_utility.hpp
+++ b/include/dbus_utility.hpp
@@ -186,13 +186,12 @@
     getAllProperties(service, objectPath, interface, std::move(callback));
 }
 
-template <typename Callback>
-inline void checkDbusPathExists(const std::string& path, Callback&& callback)
+inline void checkDbusPathExists(const std::string& path,
+                                std::function<void(bool)>&& callback)
 {
     crow::connections::systemBus->async_method_call(
-        [callback = std::forward<Callback>(callback)](
-            const boost::system::error_code& ec,
-            const MapperGetObject& objectNames) {
+        [callback = std::move(callback)](const boost::system::error_code& ec,
+                                         const MapperGetObject& objectNames) {
             callback(!ec && !objectNames.empty());
         },
         "xyz.openbmc_project.ObjectMapper",