Add association between chassis and drive

This commit adds an association between the storage device ("drive") and
the associated chassis. Specifically, the new association is the
following:
  ["chassis", "drive", <chassis_path>]

This association will be used in bmcweb to add Redfish links between
drive and chassis.

Tested:
$ busctl get-property xyz.openbmc_project.eStoraged \
  /xyz/openbmc_project/inventory/storage/mmcblk0 \
  xyz.openbmc_project.Association.Definitions Associations
$ busctl get-property xyz.openbmc_project.ObjectMapper \
  /xyz/openbmc_project/inventory/system/board/dcscm/drive \
  xyz.openbmc_project.Association endpoints
$ busctl get-property xyz.openbmc_project.ObjectMapper \
  /xyz/openbmc_project/inventory/storage/mmcblk0/chassis \
  xyz.openbmc_project.Association endpoints

Signed-off-by: John Wedig <johnwedig@google.com>
Change-Id: Ie21725e9ceb5134ac94854dcb06f3b86a48eeabd
diff --git a/include/estoraged.hpp b/include/estoraged.hpp
index 41b589c..c843a3b 100644
--- a/include/estoraged.hpp
+++ b/include/estoraged.hpp
@@ -35,6 +35,7 @@
     /** @brief Constructor for eStoraged
      *
      *  @param[in] server - sdbusplus asio object server
+     *  @param[in] configPath - path of the config object from Entity Manager
      *  @param[in] devPath - path to device file, e.g. /dev/mmcblk0
      *  @param[in] luksName - name for the LUKS container
      *  @param[in] size - size of the drive in bytes
@@ -45,8 +46,8 @@
      *    object
      */
     EStoraged(sdbusplus::asio::object_server& server,
-              const std::string& devPath, const std::string& luksName,
-              uint64_t size, uint8_t lifeTime,
+              const std::string& configPath, const std::string& devPath,
+              const std::string& luksName, uint64_t size, uint8_t lifeTime,
               std::unique_ptr<CryptsetupInterface> cryptInterface =
                   std::make_unique<Cryptsetup>(),
               std::unique_ptr<FilesystemInterface> fsInterface =
@@ -130,6 +131,9 @@
     /** @brief D-Bus interface for the physical drive. */
     std::shared_ptr<sdbusplus::asio::dbus_interface> driveInterface;
 
+    /** @brief Association between chassis and drive. */
+    std::shared_ptr<sdbusplus::asio::dbus_interface> association;
+
     /** @brief Format LUKS encrypted device.
      *
      *  @param[in] password - password to set for the LUKS device.