Activation: remove old objects after update done

The update on PSUs is one-by-one, after each PSU is updated, notify
ItemUpdater by onUpdateDone() so that the old object for the PSU is
removed.

Tested: With dummy PSU image and update service, verify the old
        objects are removed on Witherspoon.

Change-Id: I212b8cba9570ad96083d362bf57691fdabb4e42f
diff --git a/src/activation.hpp b/src/activation.hpp
index 669686e..3b03803 100644
--- a/src/activation.hpp
+++ b/src/activation.hpp
@@ -2,6 +2,7 @@
 
 #include "config.h"
 
+#include "activation_listener.hpp"
 #include "association_interface.hpp"
 #include "types.hpp"
 #include "version.hpp"
@@ -129,8 +130,9 @@
     Activation(sdbusplus::bus::bus& bus, const std::string& objPath,
                const std::string& versionId, const std::string& extVersion,
                Status activationStatus, const AssociationList& assocs,
+               const std::string& filePath,
                AssociationInterface* associationInterface,
-               const std::string& filePath) :
+               ActivationListener* activationListener) :
         ActivationInherit(bus, objPath.c_str(), true),
         bus(bus), objPath(objPath), versionId(versionId),
         systemdSignals(
@@ -140,7 +142,8 @@
                 sdbusRule::interface("org.freedesktop.systemd1.Manager"),
             std::bind(&Activation::unitStateChange, this,
                       std::placeholders::_1)),
-        associationInterface(associationInterface)
+        associationInterface(associationInterface),
+        activationListener(activationListener)
     {
         // Set Properties.
         extendedVersion(extVersion);
@@ -278,6 +281,9 @@
     /** @brief The AssociationInterface pointer */
     AssociationInterface* associationInterface;
 
+    /** @brief The activationListener pointer */
+    ActivationListener* activationListener;
+
     /** @brief The PSU manufacturer of the software */
     std::string manufacturer;