bmc: add preparation step before data is received

Add a preparation systemd trigger event before data is received.  On
systems under memory pressure, this'll trigger a service that can do
things like flush caches.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I175177f4a91b58d9f163098572a9d2614002b718
diff --git a/main.cpp b/main.cpp
index c857a6a..d28ecba 100644
--- a/main.cpp
+++ b/main.cpp
@@ -23,6 +23,7 @@
 #include "lpc_handler.hpp"
 #include "lpc_nuvoton.hpp"
 #include "pci_handler.hpp"
+#include "prepare_systemd.hpp"
 #include "status.hpp"
 #include "update_systemd.hpp"
 #include "util.hpp"
@@ -113,6 +114,8 @@
 
     auto handler = ipmi_flash::FirmwareBlobHandler::CreateFirmwareBlobHandler(
         ipmi_flash::supportedFirmware, ipmi_flash::supportedTransports,
+        ipmi_flash::SystemdPreparation::CreatePreparation(
+            sdbusplus::bus::new_default(), PREPARATION_DBUS_SERVICE),
         ipmi_flash::SystemdVerification::CreateVerification(
             sdbusplus::bus::new_default(), VERIFY_STATUS_FILENAME,
             VERIFY_DBUS_SERVICE),