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