2021-03-04 12:43:35 -07:00
|
|
|
// Copyright 2021 Dolphin Emulator Project
|
2021-07-04 19:22:19 -06:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2021-03-04 12:43:35 -07:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
#include <WinSock2.h>
|
2023-10-14 18:52:26 -06:00
|
|
|
#include <mutex>
|
2021-03-04 12:43:35 -07:00
|
|
|
#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
|
2023-10-14 18:52:26 -06:00
|
|
|
static std::mutex s_lock;
|
|
|
|
static size_t s_num_objects;
|
|
|
|
static WSADATA s_data;
|
2021-03-04 12:43:35 -07:00
|
|
|
#endif
|
|
|
|
};
|
|
|
|
} // namespace Common
|