xref: /openbmc/bmcweb/include/dbus_singleton.hpp (revision 0a63b1c7)
1 #pragma once
2 #include <iostream>
3 #include <sdbusplus/asio/connection.hpp>
4 #include <sdbusplus/message/types.hpp>
5 #include <type_traits>
6 
7 namespace mapbox
8 {
9 template <typename T, typename... Types>
10 const T* getPtr(const sdbusplus::message::variant<Types...>& v)
11 {
12     namespace variant_ns = sdbusplus::message::variant_ns;
13     return variant_ns::get_if<std::remove_const_t<T>, Types...>(&v);
14 }
15 } // namespace mapbox
16 
17 namespace crow
18 {
19 namespace connections
20 {
21 static std::shared_ptr<sdbusplus::asio::connection> systemBus;
22 
23 } // namespace connections
24 } // namespace crow
25