summaryrefslogtreecommitdiffstats
path: root/manager.hpp
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-01-15 20:38:39 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-01-16 00:09:10 -0500
commit6676c12df1620932ef10b1b107ecfd51be93deae (patch)
treebe0fff79abb245819374f953a4f53de29c426ed7 /manager.hpp
parent9d10fb21bacf067052cac28d2c5f20b254d0886d (diff)
downloadphosphor-inventory-manager-6676c12df1620932ef10b1b107ecfd51be93deae.tar.gz
phosphor-inventory-manager-6676c12df1620932ef10b1b107ecfd51be93deae.zip
Fix a bug with new interface signals
When creating new objects, Defer sending of interface added signals until all interfaces have been created. Change-Id: I031846861bb8f569be054e1d0303810fc0dd6ba6 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'manager.hpp')
-rw-r--r--manager.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/manager.hpp b/manager.hpp
index 0c89017..2ffa47b 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -35,7 +35,7 @@ using ManagerIface =
template <typename T>
struct MakeInterface
{
- static auto make(sdbusplus::bus::bus& bus, const char* path)
+ static auto make(sdbusplus::bus::bus& bus, const char* path, bool deferSignals)
{
using HolderType = holder::Holder<std::unique_ptr<T>>;
return static_cast<std::unique_ptr<holder::Base>>(
@@ -43,7 +43,8 @@ struct MakeInterface
std::forward<std::unique_ptr<T>>(
std::make_unique<T>(
std::forward<decltype(bus)>(bus),
- std::forward<decltype(path)>(path)))));
+ std::forward<decltype(path)>(path),
+ std::forward<decltype(deferSignals)>(deferSignals)))));
}
};
} // namespace details
@@ -140,7 +141,7 @@ class Manager final :
using ObjectReferences = std::map<std::string, InterfaceComposite>;
using Events = std::vector<EventInfo>;
using MakerType = HolderPtr(*)(
- sdbusplus::bus::bus&, const char*);
+ sdbusplus::bus::bus&, const char*, bool);
using Makers = std::map<std::string, MakerType>;
/** @brief Provides weak references to interface holders.
OpenPOWER on IntegriCloud