diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-01-15 20:38:39 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-01-16 00:09:10 -0500 |
commit | 6676c12df1620932ef10b1b107ecfd51be93deae (patch) | |
tree | be0fff79abb245819374f953a4f53de29c426ed7 /manager.hpp | |
parent | 9d10fb21bacf067052cac28d2c5f20b254d0886d (diff) | |
download | phosphor-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.hpp | 7 |
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. |