start-update-interface: implement update manager
Implement the update manager module for the new daemon inheriting from
the Update D-Bus interface. Link with new interface APIs from
item_updater and software utils. New daemon will continue to exist at
runtime alongwith old flow, until old flow is deprecated and removed.
This change is based on -
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738
https://gerrit.openbmc.org/c/openbmc/docs/+/65739
Change-Id: I0ecbbb8fc5340de7f66f8870ae389b405a2debee
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/software_manager.cpp b/software_manager.cpp
index 15f7dbe..3ee9f1a 100644
--- a/software_manager.cpp
+++ b/software_manager.cpp
@@ -1,27 +1,24 @@
-#include "config.h"
+#include "item_updater.hpp"
#include <phosphor-logging/lg2.hpp>
#include <sdbusplus/async.hpp>
-#include <xyz/openbmc_project/Software/Update/server.hpp>
+
+using ItemUpdaterIntf = phosphor::software::updater::ItemUpdater;
PHOSPHOR_LOG2_USING;
int main()
{
info("Creating Software Manager");
-
auto path = std::string(SOFTWARE_OBJPATH) + "/bmc";
sdbusplus::async::context ctx;
- sdbusplus::server::manager_t manager{ctx, path.c_str()};
+ sdbusplus::server::manager_t manager{ctx, SOFTWARE_OBJPATH};
- // NOLINTNEXTLINE(readability-static-accessed-through-instance)
- ctx.spawn([=](sdbusplus::async::context& ctx) -> sdbusplus::async::task<> {
- constexpr auto serviceName = "xyz.openbmc_project.Software.Manager";
- ctx.request_name(serviceName);
- co_return;
- }(ctx));
+ constexpr auto serviceName = "xyz.openbmc_project.Software.Manager";
+
+ ItemUpdaterIntf itemUpdater{ctx, path};
+ ctx.request_name(serviceName);
ctx.run();
-
return 0;
}