mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-17 15:25:35 +00:00
1697bf90fe
Compiles with C++17, replaces ghc::filesystem with std::filesystem, nonstd::optional with std::optional, and llarp::string_view with std::string_view.
44 lines
900 B
C++
44 lines
900 B
C++
#include <link/factory.hpp>
|
|
#include <iwp/iwp.hpp>
|
|
|
|
namespace llarp
|
|
{
|
|
LinkFactory::LinkType
|
|
LinkFactory::TypeFromName(std::string_view str)
|
|
{
|
|
if (str == "iwp")
|
|
return LinkType::eLinkIWP;
|
|
if (str == "mempipe")
|
|
return LinkType::eLinkMempipe;
|
|
return LinkType::eLinkUnknown;
|
|
}
|
|
|
|
std::string
|
|
LinkFactory::NameFromType(LinkFactory::LinkType tp)
|
|
{
|
|
switch (tp)
|
|
{
|
|
case LinkType::eLinkIWP:
|
|
return "iwp";
|
|
case LinkType::eLinkMempipe:
|
|
return "mempipe";
|
|
default:
|
|
return "unspec";
|
|
}
|
|
}
|
|
|
|
LinkFactory::Factory
|
|
LinkFactory::Obtain(LinkFactory::LinkType tp, bool permitInbound)
|
|
{
|
|
switch (tp)
|
|
{
|
|
case LinkType::eLinkIWP:
|
|
if (permitInbound)
|
|
return llarp::iwp::NewInboundLink;
|
|
return llarp::iwp::NewOutboundLink;
|
|
default:
|
|
return nullptr;
|
|
}
|
|
}
|
|
} // namespace llarp
|