1
0
Fork 0

Add Windows support.

ycs232-kbc
Jonathan Naylor 4 years ago
parent a77e0524e0
commit ffb4e53dbd

@ -37,12 +37,6 @@ m_address_save(address),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -56,12 +50,6 @@ m_address_save(),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -72,6 +60,20 @@ m_counter(0U)
CUDPSocket::~CUDPSocket() CUDPSocket::~CUDPSocket()
{ {
}
void CUDPSocket::startup()
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
}
void CUDPSocket::shutdown()
{
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
::WSACleanup(); ::WSACleanup();
#endif #endif

@ -60,8 +60,12 @@ public:
void close(); void close();
void close(const unsigned int index); void close(const unsigned int index);
static void startup();
static void shutdown();
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT); static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
static bool isNone(const sockaddr_storage& addr); static bool isNone(const sockaddr_storage& addr);

@ -96,10 +96,12 @@ m_lostTimer(1000U, 120U),
m_fcsNetworkEnabled(false), m_fcsNetworkEnabled(false),
m_remoteSocket(NULL) m_remoteSocket(NULL)
{ {
CUDPSocket::startup();
} }
CYSFGateway::~CYSFGateway() CYSFGateway::~CYSFGateway()
{ {
CUDPSocket::shutdown();
} }
int CYSFGateway::run() int CYSFGateway::run()

@ -37,12 +37,6 @@ m_address_save(address),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -56,12 +50,6 @@ m_address_save(),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -72,6 +60,20 @@ m_counter(0U)
CUDPSocket::~CUDPSocket() CUDPSocket::~CUDPSocket()
{ {
}
void CUDPSocket::startup()
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
}
void CUDPSocket::shutdown()
{
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
::WSACleanup(); ::WSACleanup();
#endif #endif

@ -60,8 +60,12 @@ public:
void close(); void close();
void close(const unsigned int index); void close(const unsigned int index);
static void startup();
static void shutdown();
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT); static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
static bool isNone(const sockaddr_storage& addr); static bool isNone(const sockaddr_storage& addr);

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2016,2018 by Jonathan Naylor G4KLX * Copyright (C) 2016,2018,2020 by Jonathan Naylor G4KLX
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -50,10 +50,12 @@ int main(int argc, char** argv)
CYSFParrot::CYSFParrot(unsigned int port) : CYSFParrot::CYSFParrot(unsigned int port) :
m_port(port) m_port(port)
{ {
CUDPSocket::startup();
} }
CYSFParrot::~CYSFParrot() CYSFParrot::~CYSFParrot()
{ {
CUDPSocket::shutdown();
} }
void CYSFParrot::run() void CYSFParrot::run()

@ -37,12 +37,6 @@ m_address_save(address),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -56,12 +50,6 @@ m_address_save(),
m_port_save(port), m_port_save(port),
m_counter(0U) m_counter(0U)
{ {
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
for (int i = 0; i < UDP_SOCKET_MAX; i++) { for (int i = 0; i < UDP_SOCKET_MAX; i++) {
m_address[i] = ""; m_address[i] = "";
m_port[i] = 0U; m_port[i] = 0U;
@ -72,6 +60,20 @@ m_counter(0U)
CUDPSocket::~CUDPSocket() CUDPSocket::~CUDPSocket()
{ {
}
void CUDPSocket::startup()
{
#if defined(_WIN32) || defined(_WIN64)
WSAData data;
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
if (wsaRet != 0)
LogError("Error from WSAStartup");
#endif
}
void CUDPSocket::shutdown()
{
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
::WSACleanup(); ::WSACleanup();
#endif #endif

@ -60,8 +60,12 @@ public:
void close(); void close();
void close(const unsigned int index); void close(const unsigned int index);
static void startup();
static void shutdown();
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints); static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT); static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
static bool isNone(const sockaddr_storage& addr); static bool isNone(const sockaddr_storage& addr);

@ -79,10 +79,12 @@ CYSFReflector::CYSFReflector(const std::string& file) :
m_conf(file), m_conf(file),
m_repeaters() m_repeaters()
{ {
CUDPSocket::startup();
} }
CYSFReflector::~CYSFReflector() CYSFReflector::~CYSFReflector()
{ {
CUDPSocket::shutdown();
} }
void CYSFReflector::run() void CYSFReflector::run()

Loading…
Cancel
Save