bus: Add mock and interface for flush_close_unref

There are currently direct calls to this - add an interface, impl and
mock - so calls can be routed accordingly.

Unit tests still pass with this patch applied.

Change-Id: I881fedf62d957f6a87b11ab1e35cacbb9402ffa4
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/sdbusplus/sdbus.hpp b/sdbusplus/sdbus.hpp
index 429e70a..f5d732f 100644
--- a/sdbusplus/sdbus.hpp
+++ b/sdbusplus/sdbus.hpp
@@ -137,6 +137,7 @@
                             uint64_t* cookie) = 0;
 
     virtual sd_bus* sd_bus_unref(sd_bus* bus) = 0;
+    virtual sd_bus* sd_bus_flush_close_unref(sd_bus* bus) = 0;
 
     virtual int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) = 0;
 };
@@ -450,6 +451,11 @@
         return ::sd_bus_unref(bus);
     }
 
+    sd_bus* sd_bus_flush_close_unref(sd_bus* bus) override
+    {
+        return ::sd_bus_flush_close_unref(bus);
+    }
+
     int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) override
     {
         return ::sd_bus_wait(bus, timeout_usec);
diff --git a/sdbusplus/test/sdbus_mock.hpp b/sdbusplus/test/sdbus_mock.hpp
index 2386a4d..7264482 100644
--- a/sdbusplus/test/sdbus_mock.hpp
+++ b/sdbusplus/test/sdbus_mock.hpp
@@ -106,6 +106,7 @@
     MOCK_METHOD3(sd_bus_request_name, int(sd_bus*, const char*, uint64_t));
     MOCK_METHOD3(sd_bus_send, int(sd_bus*, sd_bus_message*, uint64_t*));
     MOCK_METHOD1(sd_bus_unref, sd_bus*(sd_bus*));
+    MOCK_METHOD1(sd_bus_flush_close_unref, sd_bus*(sd_bus*));
     MOCK_METHOD2(sd_bus_wait, int(sd_bus*, uint64_t));
 };