Add support for resource dump delete.

Add support for deleting resource dumps in host memory.
Change requestDelete to accept dump type.
Update system dump delete to pass dump type.

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: I8dcf85a2b38da15ff8451003c11232e340c4ca89
diff --git a/dump-extensions/openpower-dumps/resource_dump_entry.cpp b/dump-extensions/openpower-dumps/resource_dump_entry.cpp
index efbb758..e8e73f3 100644
--- a/dump-extensions/openpower-dumps/resource_dump_entry.cpp
+++ b/dump-extensions/openpower-dumps/resource_dump_entry.cpp
@@ -12,6 +12,10 @@
 {
 namespace resource
 {
+// TODO #ibm-openbmc/issues/2859
+// Revisit host transport impelementation
+// This value is used to identify the dump in the transport layer to host,
+constexpr auto TRANSPORT_DUMP_TYPE_IDENTIFIER = 7;
 using namespace phosphor::logging;
 
 void Entry::initiateOffload(std::string uri)
@@ -30,6 +34,21 @@
     phosphor::dump::host::requestOffload(sourceDumpId());
 }
 
+void Entry::delete_()
+{
+    auto srcDumpID = sourceDumpId();
+
+    // Remove Dump entry D-bus object
+    phosphor::dump::Entry::delete_();
+
+    // Remove resource dump when host is up by using source dump id
+    // which is present in resource dump entry dbus object as a property.
+    if (phosphor::dump::isHostRunning())
+    {
+        phosphor::dump::host::requestDelete(srcDumpID,
+                                            TRANSPORT_DUMP_TYPE_IDENTIFIER);
+    }
+}
 } // namespace resource
 } // namespace dump
 } // namespace openpower