PEL: Create the PLDMInterface class

Create the PLDMInterface class and pass it into the constructor
of the Manager class.  This is done at this level so that it
can be easily mocked for testing.

Add a --enable-dont-send-pels-to-host configure option for systems
that don't need PELs sent to the host.  If this is set, then don't
create and pass in the PLDMInterface class, and then the Manager
class won't create a HostNotifier class to do the sending.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I34059470ee117e65c5c02b684a9d916571135bfd
diff --git a/extensions/openpower-pels/entry_points.cpp b/extensions/openpower-pels/entry_points.cpp
index b454d37..5c6e714 100644
--- a/extensions/openpower-pels/entry_points.cpp
+++ b/extensions/openpower-pels/entry_points.cpp
@@ -17,6 +17,7 @@
 #include "elog_entry.hpp"
 #include "extensions.hpp"
 #include "manager.hpp"
+#include "pldm_interface.hpp"
 
 namespace openpower
 {
@@ -32,7 +33,15 @@
     std::unique_ptr<DataInterfaceBase> dataIface =
         std::make_unique<DataInterface>(logManager.getBus());
 
+#ifndef DONT_SEND_PELS_TO_HOST
+    std::unique_ptr<HostInterface> hostIface = std::make_unique<PLDMInterface>(
+        logManager.getBus().get_event(), *(dataIface.get()));
+
+    manager = std::make_unique<Manager>(logManager, std::move(dataIface),
+                                        std::move(hostIface));
+#else
     manager = std::make_unique<Manager>(logManager, std::move(dataIface));
+#endif
 }
 
 REGISTER_EXTENSION_FUNCTION(pelStartup);