mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-19 09:25:28 +00:00
7caa87862e
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.
44 lines
901 B
C++
44 lines
901 B
C++
#include "factory.hpp"
|
|
#include <llarp/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
|