mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-11 07:10:36 +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.
39 lines
687 B
C++
39 lines
687 B
C++
#ifdef _WIN32
|
|
#include "win32.hpp"
|
|
#endif
|
|
#ifdef __linux__
|
|
#ifdef ANDROID
|
|
#include "android.hpp"
|
|
#else
|
|
#include "linux.hpp"
|
|
#endif
|
|
#endif
|
|
#ifdef __APPLE__
|
|
#include "apple.hpp"
|
|
#endif
|
|
|
|
namespace llarp::vpn
|
|
{
|
|
std::shared_ptr<Platform>
|
|
MakeNativePlatform(llarp::Context* ctx)
|
|
{
|
|
(void)ctx;
|
|
std::shared_ptr<Platform> plat;
|
|
#ifdef _WIN32
|
|
plat = std::make_shared<vpn::Win32Platform>();
|
|
#endif
|
|
#ifdef __linux__
|
|
#ifdef ANDROID
|
|
plat = std::make_shared<vpn::AndroidPlatform>(ctx);
|
|
#else
|
|
plat = std::make_shared<vpn::LinuxPlatform>();
|
|
#endif
|
|
#endif
|
|
#ifdef __APPLE__
|
|
plat = std::make_shared<vpn::ApplePlatform>();
|
|
#endif
|
|
return plat;
|
|
}
|
|
|
|
} // namespace llarp::vpn
|