Refactor: Make Activation inherit FilePath interface

Previously Version inherits FilePath interface to provide the
information of the file path property of a software, and Activation was
using pre-defined location to find the image path (IMG_DIR / versionId).

Now the code is going to support pre-built image and stored image during
update, the Activation class needs to know the file path to perform the
update.

So this commit "moves" the FilePath from Version to Activation.

Tested: Verify the "Path" property on FilePath still exists on the DBus
        object after uploading a tarball.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I37b41eaa93cd239ab7732f6fac9400410995ca71
diff --git a/src/activation.cpp b/src/activation.cpp
index 5023712..2ca7d86 100644
--- a/src/activation.cpp
+++ b/src/activation.cpp
@@ -166,12 +166,12 @@
 {
     if (!activationProgress)
     {
-        activationProgress = std::make_unique<ActivationProgress>(bus, path);
+        activationProgress = std::make_unique<ActivationProgress>(bus, objPath);
     }
     if (!activationBlocksTransition)
     {
         activationBlocksTransition =
-            std::make_unique<ActivationBlocksTransition>(bus, path);
+            std::make_unique<ActivationBlocksTransition>(bus, objPath);
     }
 
     auto psuPaths = utils::getPSUInventoryPath(bus);
@@ -226,8 +226,8 @@
     // TODO: delete the old software object
     deleteImageManagerObject();
 
-    associationInterface->createActiveAssociation(path);
-    associationInterface->addFunctionalAssociation(path);
+    associationInterface->createActiveAssociation(objPath);
+    associationInterface->addFunctionalAssociation(objPath);
 
     activation(Status::Active);
 }
@@ -238,7 +238,7 @@
     constexpr auto versionServiceStr = "xyz.openbmc_project.Software.Version";
     constexpr auto deleteInterface = "xyz.openbmc_project.Object.Delete";
     std::string versionService;
-    auto services = utils::getServices(bus, path.c_str(), deleteInterface);
+    auto services = utils::getServices(bus, objPath.c_str(), deleteInterface);
 
     // We need to find the phosphor-version-software-manager's version service
     // to invoke the delete interface
@@ -257,7 +257,7 @@
     }
 
     // Call the Delete object for <versionID> inside image_manager
-    auto method = bus.new_method_call(versionService.c_str(), path.c_str(),
+    auto method = bus.new_method_call(versionService.c_str(), objPath.c_str(),
                                       deleteInterface, "Delete");
     try
     {
@@ -267,7 +267,7 @@
     {
         log<level::ERR>("Error performing call to Delete object path",
                         entry("ERROR=%s", e.what()),
-                        entry("PATH=%s", path.c_str()));
+                        entry("PATH=%s", objPath.c_str()));
     }
 }