Common: Add RAII object that initializes and cleans up winsock
This commit is contained in:
parent
79ee6aae0a
commit
00bc7e6b38
|
@ -110,6 +110,8 @@ add_library(common
|
||||||
SettingsHandler.h
|
SettingsHandler.h
|
||||||
SFMLHelper.cpp
|
SFMLHelper.cpp
|
||||||
SFMLHelper.h
|
SFMLHelper.h
|
||||||
|
SocketContext.cpp
|
||||||
|
SocketContext.h
|
||||||
SPSCQueue.h
|
SPSCQueue.h
|
||||||
StringUtil.cpp
|
StringUtil.cpp
|
||||||
StringUtil.h
|
StringUtil.h
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
// Copyright 2021 Dolphin Emulator Project
|
||||||
|
// Licensed under GPLv2+
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "Common/SocketContext.h"
|
||||||
|
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
SocketContext::SocketContext()
|
||||||
|
{
|
||||||
|
static_cast<void>(WSAStartup(MAKEWORD(2, 2), &m_data));
|
||||||
|
}
|
||||||
|
SocketContext::~SocketContext()
|
||||||
|
{
|
||||||
|
WSACleanup();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
SocketContext::SocketContext() = default;
|
||||||
|
SocketContext::~SocketContext() = default;
|
||||||
|
#endif
|
||||||
|
} // namespace Common
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Copyright 2021 Dolphin Emulator Project
|
||||||
|
// Licensed under GPLv2+
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <WinSock2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
class SocketContext
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SocketContext();
|
||||||
|
~SocketContext();
|
||||||
|
|
||||||
|
SocketContext(const SocketContext&) = delete;
|
||||||
|
SocketContext(SocketContext&&) = delete;
|
||||||
|
|
||||||
|
SocketContext& operator=(const SocketContext&) = delete;
|
||||||
|
SocketContext& operator=(SocketContext&&) = delete;
|
||||||
|
|
||||||
|
private:
|
||||||
|
#ifdef _WIN32
|
||||||
|
WSADATA m_data;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
} // namespace Common
|
|
@ -142,6 +142,7 @@
|
||||||
<ClInclude Include="Common\Semaphore.h" />
|
<ClInclude Include="Common\Semaphore.h" />
|
||||||
<ClInclude Include="Common\SettingsHandler.h" />
|
<ClInclude Include="Common\SettingsHandler.h" />
|
||||||
<ClInclude Include="Common\SFMLHelper.h" />
|
<ClInclude Include="Common\SFMLHelper.h" />
|
||||||
|
<ClInclude Include="Common\SocketContext.h" />
|
||||||
<ClInclude Include="Common\SPSCQueue.h" />
|
<ClInclude Include="Common\SPSCQueue.h" />
|
||||||
<ClInclude Include="Common\StringUtil.h" />
|
<ClInclude Include="Common\StringUtil.h" />
|
||||||
<ClInclude Include="Common\Swap.h" />
|
<ClInclude Include="Common\Swap.h" />
|
||||||
|
@ -718,6 +719,7 @@
|
||||||
<ClCompile Include="Common\SDCardUtil.cpp" />
|
<ClCompile Include="Common\SDCardUtil.cpp" />
|
||||||
<ClCompile Include="Common\SettingsHandler.cpp" />
|
<ClCompile Include="Common\SettingsHandler.cpp" />
|
||||||
<ClCompile Include="Common\SFMLHelper.cpp" />
|
<ClCompile Include="Common\SFMLHelper.cpp" />
|
||||||
|
<ClCompile Include="Common\SocketContext.cpp" />
|
||||||
<ClCompile Include="Common\StringUtil.cpp" />
|
<ClCompile Include="Common\StringUtil.cpp" />
|
||||||
<ClCompile Include="Common\SymbolDB.cpp" />
|
<ClCompile Include="Common\SymbolDB.cpp" />
|
||||||
<ClCompile Include="Common\Thread.cpp" />
|
<ClCompile Include="Common\Thread.cpp" />
|
||||||
|
|
Loading…
Reference in New Issue