summaryrefslogtreecommitdiffstats
path: root/src/sdbusplus.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdbusplus.hpp')
-rw-r--r--src/sdbusplus.hpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/sdbusplus.hpp b/src/sdbusplus.hpp
index aba5a36..d62a5d4 100644
--- a/src/sdbusplus.hpp
+++ b/src/sdbusplus.hpp
@@ -3,6 +3,7 @@
#include <sdbusplus/bus.hpp>
#include <sdbusplus/message.hpp>
#include <sdbusplus/bus/match.hpp>
+#include "data_types.hpp"
struct Loop;
@@ -104,6 +105,29 @@ class SDBusPlus
callback);
}
+ /** @brief Look up the bus name for a path and interface */
+ static auto getBusName(
+ const std::string& path,
+ const std::string& interface)
+ {
+ std::vector<std::string> interfaces{interface};
+
+ auto object = callMethodAndRead<GetObject>(
+ MAPPER_BUSNAME,
+ MAPPER_PATH,
+ MAPPER_INTERFACE,
+ "GetObject",
+ path,
+ interfaces);
+
+ std::string name;
+ if (!object.empty())
+ {
+ name = object.begin()->first;
+ }
+ return name;
+ }
+
friend Loop;
};
OpenPOWER on IntegriCloud