2020-12-15 18:58:04 +08:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
2021-01-14 15:30:18 +08:00
|
|
|
// A multi-platform support c++11 library with focus on asynchronous socket I/O for any
|
|
|
|
// client application.
|
2020-12-15 18:58:04 +08:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/*
|
|
|
|
The MIT License (MIT)
|
2021-01-14 15:30:18 +08:00
|
|
|
Copyright (c) 2012-2021 HALX99
|
2020-12-15 18:58:04 +08:00
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
|
SOFTWARE.
|
|
|
|
*/
|
2021-05-18 00:25:11 +08:00
|
|
|
|
|
|
|
#include "Modules/ModuleManager.h"
|
|
|
|
|
|
|
|
#include "yasio/yasio.hpp"
|
|
|
|
|
|
|
|
using namespace yasio;
|
2020-12-15 18:58:04 +08:00
|
|
|
|
2021-07-26 23:08:35 +08:00
|
|
|
DECLARE_LOG_CATEGORY_EXTERN(yasio_ue, Log, All);
|
|
|
|
DEFINE_LOG_CATEGORY(yasio_ue);
|
2020-12-15 18:58:04 +08:00
|
|
|
|
2021-05-18 00:25:11 +08:00
|
|
|
YASIO_API void yasio_unreal_init()
|
2020-12-15 18:58:04 +08:00
|
|
|
{
|
2021-05-18 00:25:11 +08:00
|
|
|
print_fn2_t log_cb = [](int level, const char* msg) {
|
|
|
|
FString text(msg);
|
|
|
|
const TCHAR* tstr = *text;
|
2021-07-26 23:08:35 +08:00
|
|
|
UE_LOG(yasio_ue, Log, TEXT("%s"), tstr);
|
2021-05-18 00:25:11 +08:00
|
|
|
};
|
|
|
|
io_service::init_globals(log_cb);
|
2020-12-15 18:58:04 +08:00
|
|
|
}
|
2021-05-18 00:25:11 +08:00
|
|
|
YASIO_API void yasio_unreal_cleanup()
|
2020-12-15 18:58:04 +08:00
|
|
|
{
|
2021-05-18 00:25:11 +08:00
|
|
|
io_service::cleanup_globals();
|
2020-12-15 18:58:04 +08:00
|
|
|
}
|
2021-05-18 00:25:11 +08:00
|
|
|
|
2021-10-09 13:48:56 +08:00
|
|
|
#if defined(YASIO_INSIDE_UNREAL) && (YASIO_BUILD_SHARED_LIBS)
|
2021-05-18 00:25:11 +08:00
|
|
|
class yasio_unreal_module : public IModuleInterface
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/** IModuleInterface implementation */
|
|
|
|
void StartupModule() override {}
|
|
|
|
void ShutdownModule() override {}
|
|
|
|
};
|
|
|
|
IMPLEMENT_MODULE(yasio_unreal_module, yasio)
|
|
|
|
#endif
|