// portable/BsdSocketStartup.h // Created by Robin Rowe on 11/27/2015 // Copyright (c) 2015 Robin.Rowe@CinePaint.org // License open source MIT #ifndef BsdSocketStartup_h #define BsdSocketStartup_h #ifdef _WIN32 #ifdef UNREAL_ENGINE #include #endif #include #ifdef UNREAL_ENGINE #include #endif namespace portable { class BsdSocketStartup { static bool isSingleton; public: BsdSocketStartup() { if(!isSingleton) { WSADATA data; const WORD version_requested = MAKEWORD(2, 0); WSAStartup(version_requested, &data); isSingleton = true; } } ~BsdSocketStartup() { if(isSingleton) { WSACleanup(); isSingleton = false; } } }; } #else namespace portable { class BsdSocketStartup { public: BsdSocketStartup() {} }; } #endif #endif