xref: /openbmc/bmcweb/include/dbus_singleton.hpp (revision aa2e59c1)
1911ac317SEd Tanous #pragma once
2*aa2e59c1SEd Tanous #include <sdbusplus/asio/connection.hpp>
3*aa2e59c1SEd Tanous #include <iostream>
4*aa2e59c1SEd Tanous 
5*aa2e59c1SEd Tanous namespace mapbox {
6*aa2e59c1SEd Tanous template <typename T, typename... Types>
7*aa2e59c1SEd Tanous const T* get_ptr(const mapbox::util::variant<Types...>& v) {
8*aa2e59c1SEd Tanous   if (v.template is<std::remove_const_t<T>>()) {
9*aa2e59c1SEd Tanous     return &v.template get_unchecked<std::remove_const_t<T>>();
10*aa2e59c1SEd Tanous   } else {
11*aa2e59c1SEd Tanous     return nullptr;
12*aa2e59c1SEd Tanous   }
13*aa2e59c1SEd Tanous }
14*aa2e59c1SEd Tanous }  // namespace mapbox
15911ac317SEd Tanous 
16911ac317SEd Tanous namespace crow {
17911ac317SEd Tanous namespace connections {
18*aa2e59c1SEd Tanous static std::shared_ptr<sdbusplus::asio::connection> system_bus;
19911ac317SEd Tanous 
20*aa2e59c1SEd Tanous }  // namespace connections
21911ac317SEd Tanous }  // namespace crow
22