lokinet/llarp/tooling/hive_context.cpp
Thomas Winget 7caa87862e standardize include format and pragma once
All #ifndef guards on headers have been removed, I think,
in favor of #pragma once

Headers are now included as `#include "filename"` if the included file
resides in the same directory as the file including it, or any
subdirectory therein.  Otherwise they are included as
`#include <project/top/dir/relative/path/filename>`

The above does not include system/os headers.
2021-03-09 19:01:41 -05:00

31 lines
665 B
C++

#include "hive_context.hpp"
#include "hive_router.hpp"
namespace tooling
{
HiveContext::HiveContext(RouterHive* hive) : m_hive(hive)
{}
std::shared_ptr<llarp::AbstractRouter>
HiveContext::makeRouter(const llarp::EventLoop_ptr& loop)
{
return std::make_shared<HiveRouter>(loop, makeVPNPlatform(), m_hive);
}
HiveRouter*
HiveContext::getRouterAsHiveRouter()
{
if (not router)
return nullptr;
HiveRouter* hiveRouter = dynamic_cast<HiveRouter*>(router.get());
if (hiveRouter == nullptr)
throw std::runtime_error("HiveContext has a router not of type HiveRouter");
return hiveRouter;
}
} // namespace tooling