#include #include namespace tooling { HiveContext::HiveContext(RouterHive* hive) : m_hive(hive) {} std::shared_ptr HiveContext::makeRouter(llarp_ev_loop_ptr netloop, std::shared_ptr logic) { return std::make_shared(netloop, logic, makeVPNPlatform(), m_hive); } HiveRouter* HiveContext::getRouterAsHiveRouter() { if (not router) return nullptr; HiveRouter* hiveRouter = dynamic_cast(router.get()); if (hiveRouter == nullptr) throw std::runtime_error("HiveContext has a router not of type HiveRouter"); return hiveRouter; } } // namespace tooling