Switch to generated interface factory methods
Automatically populate the association of interface with an
appropriate sdbusplus server side interface binding.
Change-Id: Ie46d91cf2e6726b033789be6228c10ca14a76220
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/manager.cpp b/manager.cpp
index a846a0b..77d5990 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -101,18 +101,10 @@
void Manager::notify(std::string path, Object object)
{
try {
- using MakerType = HolderPtr(*)(
- sdbusplus::bus::bus &, const char *);
- using Makers = std::map<std::string, MakerType>;
-
if(object.cbegin() == object.cend())
throw std::runtime_error(
"No interfaces in " + path);
- static const Makers makers{
- // TODO - Add mappings here.
- };
-
path.insert(0, _root);
auto obj = _refs.find(path);
@@ -126,9 +118,9 @@
InterfaceComposite ref;
for (auto &x: object) {
- auto maker = makers.find(x.first.c_str());
+ auto maker = _makers.find(x.first.c_str());
- if(maker == makers.end())
+ if(maker == _makers.end())
throw std::runtime_error(
"Unimplemented interface: " + x.first);