Regularise the local address handling across all of the protocol.

This commit is contained in:
Jonathan Naylor 2021-04-25 11:10:35 +01:00
parent 8b45e04ea0
commit 7008c624d9
22 changed files with 158 additions and 96 deletions

View File

@ -100,6 +100,7 @@ m_modemI2CPort(),
m_modemI2CAddress(0x22U), m_modemI2CAddress(0x22U),
m_modemModemAddress(), m_modemModemAddress(),
m_modemModemPort(0U), m_modemModemPort(0U),
m_modemLocalAddress(),
m_modemLocalPort(0U), m_modemLocalPort(0U),
m_modemRXInvert(false), m_modemRXInvert(false),
m_modemTXInvert(false), m_modemTXInvert(false),
@ -233,14 +234,16 @@ m_ax25Trace(false),
m_dstarNetworkEnabled(false), m_dstarNetworkEnabled(false),
m_dstarGatewayAddress(), m_dstarGatewayAddress(),
m_dstarGatewayPort(0U), m_dstarGatewayPort(0U),
m_dstarLocalAddress(),
m_dstarLocalPort(0U), m_dstarLocalPort(0U),
m_dstarNetworkModeHang(3U), m_dstarNetworkModeHang(3U),
m_dstarNetworkDebug(false), m_dstarNetworkDebug(false),
m_dmrNetworkEnabled(false), m_dmrNetworkEnabled(false),
m_dmrNetworkType("Gateway"), m_dmrNetworkType("Gateway"),
m_dmrNetworkAddress(), m_dmrNetworkRemoteAddress(),
m_dmrNetworkPort(0U), m_dmrNetworkRemotePort(0U),
m_dmrNetworkLocal(0U), m_dmrNetworkLocalAddress(),
m_dmrNetworkLocalPort(0U),
m_dmrNetworkPassword(), m_dmrNetworkPassword(),
m_dmrNetworkOptions(), m_dmrNetworkOptions(),
m_dmrNetworkDebug(false), m_dmrNetworkDebug(false),
@ -249,8 +252,8 @@ m_dmrNetworkSlot1(true),
m_dmrNetworkSlot2(true), m_dmrNetworkSlot2(true),
m_dmrNetworkModeHang(3U), m_dmrNetworkModeHang(3U),
m_fusionNetworkEnabled(false), m_fusionNetworkEnabled(false),
m_fusionNetworkMyAddress(), m_fusionNetworkLocalAddress(),
m_fusionNetworkMyPort(0U), m_fusionNetworkLocalPort(0U),
m_fusionNetworkGatewayAddress(), m_fusionNetworkGatewayAddress(),
m_fusionNetworkGatewayPort(0U), m_fusionNetworkGatewayPort(0U),
m_fusionNetworkModeHang(3U), m_fusionNetworkModeHang(3U),
@ -258,6 +261,7 @@ m_fusionNetworkDebug(false),
m_p25NetworkEnabled(false), m_p25NetworkEnabled(false),
m_p25GatewayAddress(), m_p25GatewayAddress(),
m_p25GatewayPort(0U), m_p25GatewayPort(0U),
m_p25LocalAddress(),
m_p25LocalPort(0U), m_p25LocalPort(0U),
m_p25NetworkModeHang(3U), m_p25NetworkModeHang(3U),
m_p25NetworkDebug(false), m_p25NetworkDebug(false),
@ -272,6 +276,7 @@ m_nxdnNetworkDebug(false),
m_m17NetworkEnabled(false), m_m17NetworkEnabled(false),
m_m17GatewayAddress(), m_m17GatewayAddress(),
m_m17GatewayPort(0U), m_m17GatewayPort(0U),
m_m17LocalAddress(),
m_m17LocalPort(0U), m_m17LocalPort(0U),
m_m17NetworkModeHang(3U), m_m17NetworkModeHang(3U),
m_m17NetworkDebug(false), m_m17NetworkDebug(false),
@ -536,6 +541,8 @@ bool CConf::read()
m_modemModemAddress = value; m_modemModemAddress = value;
else if (::strcmp(key, "ModemPort") == 0) else if (::strcmp(key, "ModemPort") == 0)
m_modemModemPort = (unsigned short)::atoi(value); m_modemModemPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "LocalAddress") == 0)
m_modemLocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0) else if (::strcmp(key, "LocalPort") == 0)
m_modemLocalPort = (unsigned short)::atoi(value); m_modemLocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "RXInvert") == 0) else if (::strcmp(key, "RXInvert") == 0)
@ -897,6 +904,8 @@ bool CConf::read()
m_dstarGatewayAddress = value; m_dstarGatewayAddress = value;
else if (::strcmp(key, "GatewayPort") == 0) else if (::strcmp(key, "GatewayPort") == 0)
m_dstarGatewayPort = (unsigned short)::atoi(value); m_dstarGatewayPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "LocalAddress") == 0)
m_dstarLocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0) else if (::strcmp(key, "LocalPort") == 0)
m_dstarLocalPort = (unsigned short)::atoi(value); m_dstarLocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "ModeHang") == 0) else if (::strcmp(key, "ModeHang") == 0)
@ -908,12 +917,14 @@ bool CConf::read()
m_dmrNetworkEnabled = ::atoi(value) == 1; m_dmrNetworkEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "Type") == 0) else if (::strcmp(key, "Type") == 0)
m_dmrNetworkType = value; m_dmrNetworkType = value;
else if (::strcmp(key, "Address") == 0) else if (::strcmp(key, "RemoteAddress") == 0)
m_dmrNetworkAddress = value; m_dmrNetworkRemoteAddress = value;
else if (::strcmp(key, "Port") == 0) else if (::strcmp(key, "RemotePort") == 0)
m_dmrNetworkPort = (unsigned short)::atoi(value); m_dmrNetworkRemotePort = (unsigned short)::atoi(value);
else if (::strcmp(key, "Local") == 0) else if (::strcmp(key, "LocalAddress") == 0)
m_dmrNetworkLocal = (unsigned short)::atoi(value); m_dmrNetworkLocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0)
m_dmrNetworkLocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "Password") == 0) else if (::strcmp(key, "Password") == 0)
m_dmrNetworkPassword = value; m_dmrNetworkPassword = value;
else if (::strcmp(key, "Options") == 0) else if (::strcmp(key, "Options") == 0)
@ -932,9 +943,9 @@ bool CConf::read()
if (::strcmp(key, "Enable") == 0) if (::strcmp(key, "Enable") == 0)
m_fusionNetworkEnabled = ::atoi(value) == 1; m_fusionNetworkEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "LocalAddress") == 0) else if (::strcmp(key, "LocalAddress") == 0)
m_fusionNetworkMyAddress = value; m_fusionNetworkLocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0) else if (::strcmp(key, "LocalPort") == 0)
m_fusionNetworkMyPort = (unsigned short)::atoi(value); m_fusionNetworkLocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "GatewayAddress") == 0) else if (::strcmp(key, "GatewayAddress") == 0)
m_fusionNetworkGatewayAddress = value; m_fusionNetworkGatewayAddress = value;
else if (::strcmp(key, "GatewayPort") == 0) else if (::strcmp(key, "GatewayPort") == 0)
@ -950,6 +961,8 @@ bool CConf::read()
m_p25GatewayAddress = value; m_p25GatewayAddress = value;
else if (::strcmp(key, "GatewayPort") == 0) else if (::strcmp(key, "GatewayPort") == 0)
m_p25GatewayPort = (unsigned short)::atoi(value); m_p25GatewayPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "LocalAddress") == 0)
m_p25LocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0) else if (::strcmp(key, "LocalPort") == 0)
m_p25LocalPort = (unsigned short)::atoi(value); m_p25LocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "ModeHang") == 0) else if (::strcmp(key, "ModeHang") == 0)
@ -974,6 +987,8 @@ bool CConf::read()
} else if (section == SECTION_M17_NETWORK) { } else if (section == SECTION_M17_NETWORK) {
if (::strcmp(key, "Enable") == 0) if (::strcmp(key, "Enable") == 0)
m_m17NetworkEnabled = ::atoi(value) == 1; m_m17NetworkEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "LocalAddress") == 0)
m_m17LocalAddress = value;
else if (::strcmp(key, "LocalPort") == 0) else if (::strcmp(key, "LocalPort") == 0)
m_m17LocalPort = (unsigned short)::atoi(value); m_m17LocalPort = (unsigned short)::atoi(value);
else if (::strcmp(key, "GatewayAddress") == 0) else if (::strcmp(key, "GatewayAddress") == 0)
@ -1294,6 +1309,11 @@ unsigned short CConf::getModemModemPort() const
return m_modemModemPort; return m_modemModemPort;
} }
std::string CConf::getModemLocalAddress() const
{
return m_modemLocalAddress;
}
unsigned short CConf::getModemLocalPort() const unsigned short CConf::getModemLocalPort() const
{ {
return m_modemLocalPort; return m_modemLocalPort;
@ -1959,6 +1979,11 @@ unsigned short CConf::getDStarGatewayPort() const
return m_dstarGatewayPort; return m_dstarGatewayPort;
} }
std::string CConf::getDStarLocalAddress() const
{
return m_dstarLocalAddress;
}
unsigned short CConf::getDStarLocalPort() const unsigned short CConf::getDStarLocalPort() const
{ {
return m_dstarLocalPort; return m_dstarLocalPort;
@ -1984,19 +2009,24 @@ std::string CConf::getDMRNetworkType() const
return m_dmrNetworkType; return m_dmrNetworkType;
} }
std::string CConf::getDMRNetworkAddress() const std::string CConf::getDMRNetworkRemoteAddress() const
{ {
return m_dmrNetworkAddress; return m_dmrNetworkRemoteAddress;
} }
unsigned short CConf::getDMRNetworkPort() const unsigned short CConf::getDMRNetworkRemotePort() const
{ {
return m_dmrNetworkPort; return m_dmrNetworkRemotePort;
} }
unsigned short CConf::getDMRNetworkLocal() const std::string CConf::getDMRNetworkLocalAddress() const
{ {
return m_dmrNetworkLocal; return m_dmrNetworkLocalAddress;
}
unsigned short CConf::getDMRNetworkLocalPort() const
{
return m_dmrNetworkLocalPort;
} }
std::string CConf::getDMRNetworkPassword() const std::string CConf::getDMRNetworkPassword() const
@ -2039,14 +2069,14 @@ bool CConf::getFusionNetworkEnabled() const
return m_fusionNetworkEnabled; return m_fusionNetworkEnabled;
} }
std::string CConf::getFusionNetworkMyAddress() const std::string CConf::getFusionNetworkLocalAddress() const
{ {
return m_fusionNetworkMyAddress; return m_fusionNetworkLocalAddress;
} }
unsigned short CConf::getFusionNetworkMyPort() const unsigned short CConf::getFusionNetworkLocalPort() const
{ {
return m_fusionNetworkMyPort; return m_fusionNetworkLocalPort;
} }
std::string CConf::getFusionNetworkGatewayAddress() const std::string CConf::getFusionNetworkGatewayAddress() const
@ -2084,6 +2114,11 @@ unsigned short CConf::getP25GatewayPort() const
return m_p25GatewayPort; return m_p25GatewayPort;
} }
std::string CConf::getP25LocalAddress() const
{
return m_p25LocalAddress;
}
unsigned short CConf::getP25LocalPort() const unsigned short CConf::getP25LocalPort() const
{ {
return m_p25LocalPort; return m_p25LocalPort;
@ -2154,6 +2189,11 @@ unsigned short CConf::getM17GatewayPort() const
return m_m17GatewayPort; return m_m17GatewayPort;
} }
std::string CConf::getM17LocalAddress() const
{
return m_m17LocalAddress;
}
unsigned short CConf::getM17LocalPort() const unsigned short CConf::getM17LocalPort() const
{ {
return m_m17LocalPort; return m_m17LocalPort;

30
Conf.h
View File

@ -77,6 +77,7 @@ public:
unsigned int getModemI2CAddress() const; unsigned int getModemI2CAddress() const;
std::string getModemModemAddress() const; std::string getModemModemAddress() const;
unsigned short getModemModemPort() const; unsigned short getModemModemPort() const;
std::string getModemLocalAddress() const;
unsigned short getModemLocalPort() const; unsigned short getModemLocalPort() const;
bool getModemRXInvert() const; bool getModemRXInvert() const;
bool getModemTXInvert() const; bool getModemTXInvert() const;
@ -232,6 +233,7 @@ public:
bool getDStarNetworkEnabled() const; bool getDStarNetworkEnabled() const;
std::string getDStarGatewayAddress() const; std::string getDStarGatewayAddress() const;
unsigned short getDStarGatewayPort() const; unsigned short getDStarGatewayPort() const;
std::string getDStarLocalAddress() const;
unsigned short getDStarLocalPort() const; unsigned short getDStarLocalPort() const;
unsigned int getDStarNetworkModeHang() const; unsigned int getDStarNetworkModeHang() const;
bool getDStarNetworkDebug() const; bool getDStarNetworkDebug() const;
@ -239,9 +241,10 @@ public:
// The DMR Network section // The DMR Network section
bool getDMRNetworkEnabled() const; bool getDMRNetworkEnabled() const;
std::string getDMRNetworkType() const; std::string getDMRNetworkType() const;
std::string getDMRNetworkAddress() const; std::string getDMRNetworkRemoteAddress() const;
unsigned short getDMRNetworkPort() const; unsigned short getDMRNetworkRemotePort() const;
unsigned short getDMRNetworkLocal() const; std::string getDMRNetworkLocalAddress() const;
unsigned short getDMRNetworkLocalPort() const;
std::string getDMRNetworkPassword() const; std::string getDMRNetworkPassword() const;
std::string getDMRNetworkOptions() const; std::string getDMRNetworkOptions() const;
bool getDMRNetworkDebug() const; bool getDMRNetworkDebug() const;
@ -252,8 +255,8 @@ public:
// The System Fusion Network section // The System Fusion Network section
bool getFusionNetworkEnabled() const; bool getFusionNetworkEnabled() const;
std::string getFusionNetworkMyAddress() const; std::string getFusionNetworkLocalAddress() const;
unsigned short getFusionNetworkMyPort() const; unsigned short getFusionNetworkLocalPort() const;
std::string getFusionNetworkGatewayAddress() const; std::string getFusionNetworkGatewayAddress() const;
unsigned short getFusionNetworkGatewayPort() const; unsigned short getFusionNetworkGatewayPort() const;
unsigned int getFusionNetworkModeHang() const; unsigned int getFusionNetworkModeHang() const;
@ -263,6 +266,7 @@ public:
bool getP25NetworkEnabled() const; bool getP25NetworkEnabled() const;
std::string getP25GatewayAddress() const; std::string getP25GatewayAddress() const;
unsigned short getP25GatewayPort() const; unsigned short getP25GatewayPort() const;
std::string getP25LocalAddress() const;
unsigned short getP25LocalPort() const; unsigned short getP25LocalPort() const;
unsigned int getP25NetworkModeHang() const; unsigned int getP25NetworkModeHang() const;
bool getP25NetworkDebug() const; bool getP25NetworkDebug() const;
@ -281,6 +285,7 @@ public:
bool getM17NetworkEnabled() const; bool getM17NetworkEnabled() const;
std::string getM17GatewayAddress() const; std::string getM17GatewayAddress() const;
unsigned short getM17GatewayPort() const; unsigned short getM17GatewayPort() const;
std::string getM17LocalAddress() const;
unsigned short getM17LocalPort() const; unsigned short getM17LocalPort() const;
unsigned int getM17NetworkModeHang() const; unsigned int getM17NetworkModeHang() const;
bool getM17NetworkDebug() const; bool getM17NetworkDebug() const;
@ -406,6 +411,7 @@ private:
unsigned int m_modemI2CAddress; unsigned int m_modemI2CAddress;
std::string m_modemModemAddress; std::string m_modemModemAddress;
unsigned short m_modemModemPort; unsigned short m_modemModemPort;
std::string m_modemLocalAddress;
unsigned short m_modemLocalPort; unsigned short m_modemLocalPort;
bool m_modemRXInvert; bool m_modemRXInvert;
bool m_modemTXInvert; bool m_modemTXInvert;
@ -550,15 +556,17 @@ private:
bool m_dstarNetworkEnabled; bool m_dstarNetworkEnabled;
std::string m_dstarGatewayAddress; std::string m_dstarGatewayAddress;
unsigned short m_dstarGatewayPort; unsigned short m_dstarGatewayPort;
std::string m_dstarLocalAddress;
unsigned short m_dstarLocalPort; unsigned short m_dstarLocalPort;
unsigned int m_dstarNetworkModeHang; unsigned int m_dstarNetworkModeHang;
bool m_dstarNetworkDebug; bool m_dstarNetworkDebug;
bool m_dmrNetworkEnabled; bool m_dmrNetworkEnabled;
std::string m_dmrNetworkType; std::string m_dmrNetworkType;
std::string m_dmrNetworkAddress; std::string m_dmrNetworkRemoteAddress;
unsigned short m_dmrNetworkPort; unsigned short m_dmrNetworkRemotePort;
unsigned short m_dmrNetworkLocal; std::string m_dmrNetworkLocalAddress;
unsigned short m_dmrNetworkLocalPort;
std::string m_dmrNetworkPassword; std::string m_dmrNetworkPassword;
std::string m_dmrNetworkOptions; std::string m_dmrNetworkOptions;
bool m_dmrNetworkDebug; bool m_dmrNetworkDebug;
@ -568,8 +576,8 @@ private:
unsigned int m_dmrNetworkModeHang; unsigned int m_dmrNetworkModeHang;
bool m_fusionNetworkEnabled; bool m_fusionNetworkEnabled;
std::string m_fusionNetworkMyAddress; std::string m_fusionNetworkLocalAddress;
unsigned short m_fusionNetworkMyPort; unsigned short m_fusionNetworkLocalPort;
std::string m_fusionNetworkGatewayAddress; std::string m_fusionNetworkGatewayAddress;
unsigned short m_fusionNetworkGatewayPort; unsigned short m_fusionNetworkGatewayPort;
unsigned int m_fusionNetworkModeHang; unsigned int m_fusionNetworkModeHang;
@ -578,6 +586,7 @@ private:
bool m_p25NetworkEnabled; bool m_p25NetworkEnabled;
std::string m_p25GatewayAddress; std::string m_p25GatewayAddress;
unsigned short m_p25GatewayPort; unsigned short m_p25GatewayPort;
std::string m_p25LocalAddress;
unsigned short m_p25LocalPort; unsigned short m_p25LocalPort;
unsigned int m_p25NetworkModeHang; unsigned int m_p25NetworkModeHang;
bool m_p25NetworkDebug; bool m_p25NetworkDebug;
@ -594,6 +603,7 @@ private:
bool m_m17NetworkEnabled; bool m_m17NetworkEnabled;
std::string m_m17GatewayAddress; std::string m_m17GatewayAddress;
unsigned short m_m17GatewayPort; unsigned short m_m17GatewayPort;
std::string m_m17LocalAddress;
unsigned short m_m17LocalPort; unsigned short m_m17LocalPort;
unsigned int m_m17NetworkModeHang; unsigned int m_m17NetworkModeHang;
bool m_m17NetworkDebug; bool m_m17NetworkDebug;

View File

@ -30,7 +30,7 @@ const unsigned int BUFFER_LENGTH = 500U;
const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U; const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U;
CDMRDirectNetwork::CDMRDirectNetwork(const std::string& address, unsigned short port, unsigned short local, unsigned int id, const std::string& password, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug) : CDMRDirectNetwork::CDMRDirectNetwork(const std::string& address, unsigned short port, const std::string& localAddress, unsigned short localPort, unsigned int id, const std::string& password, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug) :
m_address(address), m_address(address),
m_port(port), m_port(port),
m_addr(), m_addr(),
@ -40,7 +40,7 @@ m_password(password),
m_duplex(duplex), m_duplex(duplex),
m_version(version), m_version(version),
m_debug(debug), m_debug(debug),
m_socket(local), m_socket(localAddress, localPort),
m_enabled(false), m_enabled(false),
m_slot1(slot1), m_slot1(slot1),
m_slot2(slot2), m_slot2(slot2),

View File

@ -32,7 +32,7 @@
class CDMRDirectNetwork : public IDMRNetwork class CDMRDirectNetwork : public IDMRNetwork
{ {
public: public:
CDMRDirectNetwork(const std::string& address, unsigned short port, unsigned short local, unsigned int id, const std::string& password, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug); CDMRDirectNetwork(const std::string& remoteAddress, unsigned short remotePort, const std::string& localAddress, unsigned short localPort, unsigned int id, const std::string& password, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug);
virtual ~CDMRDirectNetwork(); virtual ~CDMRDirectNetwork();
virtual void setOptions(const std::string& options); virtual void setOptions(const std::string& options);

View File

@ -31,7 +31,7 @@ const unsigned int BUFFER_LENGTH = 500U;
const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U; const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U;
CDMRGatewayNetwork::CDMRGatewayNetwork(const std::string& address, unsigned short port, unsigned short local, unsigned int id, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug) : CDMRGatewayNetwork::CDMRGatewayNetwork(const std::string& address, unsigned short port, const std::string& localAddress, unsigned short localPort, unsigned int id, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug) :
m_addressStr(address), m_addressStr(address),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
@ -40,7 +40,7 @@ m_id(NULL),
m_duplex(duplex), m_duplex(duplex),
m_version(version), m_version(version),
m_debug(debug), m_debug(debug),
m_socket(local), m_socket(localAddress, localPort),
m_enabled(false), m_enabled(false),
m_slot1(slot1), m_slot1(slot1),
m_slot2(slot2), m_slot2(slot2),

View File

@ -33,7 +33,7 @@
class CDMRGatewayNetwork : public IDMRNetwork class CDMRGatewayNetwork : public IDMRNetwork
{ {
public: public:
CDMRGatewayNetwork(const std::string& address, unsigned short port, unsigned short local, unsigned int id, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug); CDMRGatewayNetwork(const std::string& remoteAddress, unsigned short remotePort, const std::string& localAddress, unsigned short localPort, unsigned int id, bool duplex, const char* version, bool slot1, bool slot2, HW_TYPE hwType, bool debug);
virtual ~CDMRGatewayNetwork(); virtual ~CDMRGatewayNetwork();
virtual void setOptions(const std::string& options); virtual void setOptions(const std::string& options);

View File

@ -30,8 +30,8 @@
const unsigned int BUFFER_LENGTH = 100U; const unsigned int BUFFER_LENGTH = 100U;
CDStarNetwork::CDStarNetwork(const std::string& gatewayAddress, unsigned short gatewayPort, unsigned short localPort, bool duplex, const char* version, bool debug) : CDStarNetwork::CDStarNetwork(const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& localAddress, unsigned short localPort, bool duplex, const char* version, bool debug) :
m_socket(localPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_duplex(duplex), m_duplex(duplex),

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2009-2014,2016,2020 by Jonathan Naylor G4KLX * Copyright (C) 2009-2014,2016,2020,2021 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
@ -30,7 +30,7 @@
class CDStarNetwork { class CDStarNetwork {
public: public:
CDStarNetwork(const std::string& gatewayAddress, unsigned short gatewayPort, unsigned short localPort, bool duplex, const char* version, bool debug); CDStarNetwork(const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& localAddress, unsigned short localPort, bool duplex, const char* version, bool debug);
~CDStarNetwork(); ~CDStarNetwork();
bool open(); bool open();

View File

@ -31,7 +31,7 @@ enum FM_NETWORK_PROTOCOL {
class CFMNetwork { class CFMNetwork {
public: public:
CFMNetwork(const std::string& callsign, const std::string& protocol, const std::string& myAddress, unsigned short myPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug); CFMNetwork(const std::string& callsign, const std::string& protocol, const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug);
~CFMNetwork(); ~CFMNetwork();
bool open(); bool open();

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020 by Jonathan Naylor G4KLX * Copyright (C) 2020,2021 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
@ -29,8 +29,8 @@
const unsigned int BUFFER_LENGTH = 200U; const unsigned int BUFFER_LENGTH = 200U;
CM17Network::CM17Network(unsigned short localPort, const std::string& gwyAddress, unsigned short gwyPort, bool debug) : CM17Network::CM17Network(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug) :
m_socket(localPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_debug(debug), m_debug(debug),
@ -41,7 +41,7 @@ m_buffer(1000U, "M17 Network"),
m_random(), m_random(),
m_timer(1000U, 5U) m_timer(1000U, 5U)
{ {
if (CUDPSocket::lookup(gwyAddress, gwyPort, m_addr, m_addrLen) != 0) { if (CUDPSocket::lookup(gatewayAddress, gatewayPort, m_addr, m_addrLen) != 0) {
m_addrLen = 0U; m_addrLen = 0U;
return; return;
} }

View File

@ -29,7 +29,7 @@
class CM17Network { class CM17Network {
public: public:
CM17Network(unsigned short localPort, const std::string& gwyAddress, unsigned short gwyPort, bool debug); CM17Network(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug);
~CM17Network(); ~CM17Network();
bool open(); bool open();

View File

@ -56,6 +56,7 @@ I2CAddress=0x22
# IP parameters for UDP connection # IP parameters for UDP connection
ModemAddress=192.168.2.100 ModemAddress=192.168.2.100
ModemPort=3334 ModemPort=3334
LocalAddress=192.168.2.1
LocalPort=3335 LocalPort=3335
TXInvert=1 TXInvert=1
@ -207,9 +208,10 @@ Trace=1
[D-Star Network] [D-Star Network]
Enable=1 Enable=1
LocalAddress=127.0.0.1
LocalPort=20011
GatewayAddress=127.0.0.1 GatewayAddress=127.0.0.1
GatewayPort=20010 GatewayPort=20010
LocalPort=20011
# ModeHang=3 # ModeHang=3
Debug=0 Debug=0
@ -218,9 +220,10 @@ Enable=1
# Type may be either 'Direct' or 'Gateway'. When Direct you must provide the Master's # Type may be either 'Direct' or 'Gateway'. When Direct you must provide the Master's
# address as well as the Password, and for DMR+, Options also. # address as well as the Password, and for DMR+, Options also.
Type=Gateway Type=Gateway
Address=127.0.0.1 LocalAddress=127.0.0.1
Port=62031 LocalPort=62032
Local=62032 RemoteAddress=127.0.0.1
RemotePort=62031
# Password=P@ssw0rd1234 # Password=P@ssw0rd1234
Jitter=360 Jitter=360
Slot1=1 Slot1=1
@ -240,9 +243,10 @@ Debug=0
[P25 Network] [P25 Network]
Enable=1 Enable=1
LocalAddress=127.0.0.1
LocalPort=32010
GatewayAddress=127.0.0.1 GatewayAddress=127.0.0.1
GatewayPort=42020 GatewayPort=42020
LocalPort=32010
# ModeHang=3 # ModeHang=3
Debug=0 Debug=0
@ -258,9 +262,10 @@ Debug=0
[M17 Network] [M17 Network]
Enable=1 Enable=1
LocalAddress=127.0.0.1
LocalPort=17011
GatewayAddress=127.0.0.1 GatewayAddress=127.0.0.1
GatewayPort=17010 GatewayPort=17010
LocalPort=17011
# ModeHang=3 # ModeHang=3
Debug=0 Debug=0

View File

@ -1330,8 +1330,9 @@ bool CMMDVMHost::createModem()
std::string i2cPort = m_conf.getModemI2CPort(); std::string i2cPort = m_conf.getModemI2CPort();
unsigned int i2cAddress = m_conf.getModemI2CAddress(); unsigned int i2cAddress = m_conf.getModemI2CAddress();
std::string modemAddress = m_conf.getModemModemAddress(); std::string modemAddress = m_conf.getModemModemAddress();
unsigned int modemPort = m_conf.getModemModemPort(); unsigned short modemPort = m_conf.getModemModemPort();
unsigned int localPort = m_conf.getModemLocalPort(); std::string localAddress = m_conf.getModemLocalAddress();
unsigned short localPort = m_conf.getModemLocalPort();
bool rxInvert = m_conf.getModemRXInvert(); bool rxInvert = m_conf.getModemRXInvert();
bool txInvert = m_conf.getModemTXInvert(); bool txInvert = m_conf.getModemTXInvert();
bool pttInvert = m_conf.getModemPTTInvert(); bool pttInvert = m_conf.getModemPTTInvert();
@ -1378,8 +1379,9 @@ bool CMMDVMHost::createModem()
LogInfo(" UART Speed: %u", uartSpeed); LogInfo(" UART Speed: %u", uartSpeed);
} else if (protocol == "udp") { } else if (protocol == "udp") {
LogInfo(" Modem Address: %s", modemAddress.c_str()); LogInfo(" Modem Address: %s", modemAddress.c_str());
LogInfo(" Modem Port: %u", modemPort); LogInfo(" Modem Port: %hu", modemPort);
LogInfo(" Local Port: %u", localPort); LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local Port: %hu", localPort);
} }
#if defined(__linux__) #if defined(__linux__)
else if (protocol == "i2c") { else if (protocol == "i2c") {
@ -1418,7 +1420,7 @@ bool CMMDVMHost::createModem()
if (protocol == "uart") if (protocol == "uart")
port = new CUARTController(uartPort, uartSpeed, true); port = new CUARTController(uartPort, uartSpeed, true);
else if (protocol == "udp") else if (protocol == "udp")
port = new CUDPController(modemAddress, modemPort, localPort); port = new CUDPController(modemAddress, modemPort, localAddress, localPort);
#if defined(__linux__) #if defined(__linux__)
else if (protocol == "i2c") else if (protocol == "i2c")
port = new CI2CController(i2cPort, i2cAddress); port = new CI2CController(i2cPort, i2cAddress);
@ -1540,6 +1542,7 @@ bool CMMDVMHost::createDStarNetwork()
{ {
std::string gatewayAddress = m_conf.getDStarGatewayAddress(); std::string gatewayAddress = m_conf.getDStarGatewayAddress();
unsigned short gatewayPort = m_conf.getDStarGatewayPort(); unsigned short gatewayPort = m_conf.getDStarGatewayPort();
std::string localAddress = m_conf.getDStarLocalAddress();
unsigned short localPort = m_conf.getDStarLocalPort(); unsigned short localPort = m_conf.getDStarLocalPort();
bool debug = m_conf.getDStarNetworkDebug(); bool debug = m_conf.getDStarNetworkDebug();
m_dstarNetModeHang = m_conf.getDStarNetworkModeHang(); m_dstarNetModeHang = m_conf.getDStarNetworkModeHang();
@ -1547,10 +1550,11 @@ bool CMMDVMHost::createDStarNetwork()
LogInfo("D-Star Network Parameters"); LogInfo("D-Star Network Parameters");
LogInfo(" Gateway Address: %s", gatewayAddress.c_str()); LogInfo(" Gateway Address: %s", gatewayAddress.c_str());
LogInfo(" Gateway Port: %hu", gatewayPort); LogInfo(" Gateway Port: %hu", gatewayPort);
LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local Port: %hu", localPort); LogInfo(" Local Port: %hu", localPort);
LogInfo(" Mode Hang: %us", m_dstarNetModeHang); LogInfo(" Mode Hang: %us", m_dstarNetModeHang);
m_dstarNetwork = new CDStarNetwork(gatewayAddress, gatewayPort, localPort, m_duplex, VERSION, debug); m_dstarNetwork = new CDStarNetwork(gatewayAddress, gatewayPort, localAddress, localPort, m_duplex, VERSION, debug);
bool ret = m_dstarNetwork->open(); bool ret = m_dstarNetwork->open();
if (!ret) { if (!ret) {
@ -1566,9 +1570,10 @@ bool CMMDVMHost::createDStarNetwork()
bool CMMDVMHost::createDMRNetwork() bool CMMDVMHost::createDMRNetwork()
{ {
std::string address = m_conf.getDMRNetworkAddress(); std::string remoteAddress = m_conf.getDMRNetworkRemoteAddress();
unsigned short port = m_conf.getDMRNetworkPort(); unsigned short remotePort = m_conf.getDMRNetworkRemotePort();
unsigned short local = m_conf.getDMRNetworkLocal(); std::string localAddress = m_conf.getDMRNetworkLocalAddress();
unsigned short localPort = m_conf.getDMRNetworkLocalPort();
unsigned int id = m_conf.getDMRId(); unsigned int id = m_conf.getDMRId();
std::string password = m_conf.getDMRNetworkPassword(); std::string password = m_conf.getDMRNetworkPassword();
bool debug = m_conf.getDMRNetworkDebug(); bool debug = m_conf.getDMRNetworkDebug();
@ -1583,21 +1588,19 @@ bool CMMDVMHost::createDMRNetwork()
LogInfo("DMR Network Parameters"); LogInfo("DMR Network Parameters");
LogInfo(" Type: %s", type.c_str()); LogInfo(" Type: %s", type.c_str());
LogInfo(" Address: %s", address.c_str()); LogInfo(" Remote Address: %s", remoteAddress.c_str());
LogInfo(" Port: %hu", port); LogInfo(" Remote Port: %hu", remotePort);
if (local > 0U) LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local: %hu", local); LogInfo(" Local Port: %hu", localPort);
else
LogInfo(" Local: random");
LogInfo(" Jitter: %ums", jitter); LogInfo(" Jitter: %ums", jitter);
LogInfo(" Slot 1: %s", slot1 ? "enabled" : "disabled"); LogInfo(" Slot 1: %s", slot1 ? "enabled" : "disabled");
LogInfo(" Slot 2: %s", slot2 ? "enabled" : "disabled"); LogInfo(" Slot 2: %s", slot2 ? "enabled" : "disabled");
LogInfo(" Mode Hang: %us", m_dmrNetModeHang); LogInfo(" Mode Hang: %us", m_dmrNetModeHang);
if (type == "Direct") if (type == "Direct")
m_dmrNetwork = new CDMRDirectNetwork(address, port, local, id, password, m_duplex, VERSION, slot1, slot2, hwType, debug); m_dmrNetwork = new CDMRDirectNetwork(remoteAddress, remotePort, localAddress, localPort, id, password, m_duplex, VERSION, slot1, slot2, hwType, debug);
else else
m_dmrNetwork = new CDMRGatewayNetwork(address, port, local, id, m_duplex, VERSION, slot1, slot2, hwType, debug); m_dmrNetwork = new CDMRGatewayNetwork(remoteAddress, remotePort, localAddress, localPort, id, m_duplex, VERSION, slot1, slot2, hwType, debug);
unsigned int rxFrequency = m_conf.getRXFrequency(); unsigned int rxFrequency = m_conf.getRXFrequency();
unsigned int txFrequency = m_conf.getTXFrequency(); unsigned int txFrequency = m_conf.getTXFrequency();
@ -1650,21 +1653,21 @@ bool CMMDVMHost::createDMRNetwork()
bool CMMDVMHost::createYSFNetwork() bool CMMDVMHost::createYSFNetwork()
{ {
std::string myAddress = m_conf.getFusionNetworkMyAddress(); std::string localAddress = m_conf.getFusionNetworkLocalAddress();
unsigned short myPort = m_conf.getFusionNetworkMyPort(); unsigned short localPort = m_conf.getFusionNetworkLocalPort();
std::string gatewayAddress = m_conf.getFusionNetworkGatewayAddress(); std::string gatewayAddress = m_conf.getFusionNetworkGatewayAddress();
unsigned short gatewayPort = m_conf.getFusionNetworkGatewayPort(); unsigned short gatewayPort = m_conf.getFusionNetworkGatewayPort();
m_ysfNetModeHang = m_conf.getFusionNetworkModeHang(); m_ysfNetModeHang = m_conf.getFusionNetworkModeHang();
bool debug = m_conf.getFusionNetworkDebug(); bool debug = m_conf.getFusionNetworkDebug();
LogInfo("System Fusion Network Parameters"); LogInfo("System Fusion Network Parameters");
LogInfo(" Local Address: %s", myAddress.c_str()); LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local Port: %hu", myPort); LogInfo(" Local Port: %hu", localPort);
LogInfo(" Gateway Address: %s", gatewayAddress.c_str()); LogInfo(" Gateway Address: %s", gatewayAddress.c_str());
LogInfo(" Gateway Port: %hu", gatewayPort); LogInfo(" Gateway Port: %hu", gatewayPort);
LogInfo(" Mode Hang: %us", m_ysfNetModeHang); LogInfo(" Mode Hang: %us", m_ysfNetModeHang);
m_ysfNetwork = new CYSFNetwork(myAddress, myPort, gatewayAddress, gatewayPort, m_callsign, debug); m_ysfNetwork = new CYSFNetwork(localAddress, localPort, gatewayAddress, gatewayPort, m_callsign, debug);
bool ret = m_ysfNetwork->open(); bool ret = m_ysfNetwork->open();
if (!ret) { if (!ret) {
@ -1682,6 +1685,7 @@ bool CMMDVMHost::createP25Network()
{ {
std::string gatewayAddress = m_conf.getP25GatewayAddress(); std::string gatewayAddress = m_conf.getP25GatewayAddress();
unsigned short gatewayPort = m_conf.getP25GatewayPort(); unsigned short gatewayPort = m_conf.getP25GatewayPort();
std::string localAddress = m_conf.getP25LocalAddress();
unsigned short localPort = m_conf.getP25LocalPort(); unsigned short localPort = m_conf.getP25LocalPort();
m_p25NetModeHang = m_conf.getP25NetworkModeHang(); m_p25NetModeHang = m_conf.getP25NetworkModeHang();
bool debug = m_conf.getP25NetworkDebug(); bool debug = m_conf.getP25NetworkDebug();
@ -1689,10 +1693,11 @@ bool CMMDVMHost::createP25Network()
LogInfo("P25 Network Parameters"); LogInfo("P25 Network Parameters");
LogInfo(" Gateway Address: %s", gatewayAddress.c_str()); LogInfo(" Gateway Address: %s", gatewayAddress.c_str());
LogInfo(" Gateway Port: %hu", gatewayPort); LogInfo(" Gateway Port: %hu", gatewayPort);
LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local Port: %hu", localPort); LogInfo(" Local Port: %hu", localPort);
LogInfo(" Mode Hang: %us", m_p25NetModeHang); LogInfo(" Mode Hang: %us", m_p25NetModeHang);
m_p25Network = new CP25Network(gatewayAddress, gatewayPort, localPort, debug); m_p25Network = new CP25Network(gatewayAddress, gatewayPort, localAddress, localPort, debug);
bool ret = m_p25Network->open(); bool ret = m_p25Network->open();
if (!ret) { if (!ret) {
@ -1745,6 +1750,7 @@ bool CMMDVMHost::createM17Network()
{ {
std::string gatewayAddress = m_conf.getM17GatewayAddress(); std::string gatewayAddress = m_conf.getM17GatewayAddress();
unsigned short gatewayPort = m_conf.getM17GatewayPort(); unsigned short gatewayPort = m_conf.getM17GatewayPort();
std::string localAddress = m_conf.getM17LocalAddress();
unsigned short localPort = m_conf.getM17LocalPort(); unsigned short localPort = m_conf.getM17LocalPort();
m_m17NetModeHang = m_conf.getM17NetworkModeHang(); m_m17NetModeHang = m_conf.getM17NetworkModeHang();
bool debug = m_conf.getM17NetworkDebug(); bool debug = m_conf.getM17NetworkDebug();
@ -1752,10 +1758,11 @@ bool CMMDVMHost::createM17Network()
LogInfo("M17 Network Parameters"); LogInfo("M17 Network Parameters");
LogInfo(" Gateway Address: %s", gatewayAddress.c_str()); LogInfo(" Gateway Address: %s", gatewayAddress.c_str());
LogInfo(" Gateway Port: %hu", gatewayPort); LogInfo(" Gateway Port: %hu", gatewayPort);
LogInfo(" Local Address: %s", localAddress.c_str());
LogInfo(" Local Port: %hu", localPort); LogInfo(" Local Port: %hu", localPort);
LogInfo(" Mode Hang: %us", m_m17NetModeHang); LogInfo(" Mode Hang: %us", m_m17NetModeHang);
m_m17Network = new CM17Network(localPort, gatewayAddress, gatewayPort, debug); m_m17Network = new CM17Network(localAddress, localPort, gatewayAddress, gatewayPort, debug);
bool ret = m_m17Network->open(); bool ret = m_m17Network->open();
if (!ret) { if (!ret) {
delete m_m17Network; delete m_m17Network;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2009-2014,2016,2019,2020 by Jonathan Naylor G4KLX * Copyright (C) 2009-2014,2016,2019,2020,2021 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
@ -87,8 +87,8 @@ const unsigned char REC80[] = {
const unsigned int BUFFER_LENGTH = 100U; const unsigned int BUFFER_LENGTH = 100U;
CP25Network::CP25Network(const std::string& gatewayAddress, unsigned short gatewayPort, unsigned short localPort, bool debug) : CP25Network::CP25Network(const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& localAddress, unsigned short localPort, bool debug) :
m_socket(localPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_debug(debug), m_debug(debug),

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2009-2014,2016,2020 by Jonathan Naylor G4KLX * Copyright (C) 2009-2014,2016,2020,2021 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
@ -30,7 +30,7 @@
class CP25Network { class CP25Network {
public: public:
CP25Network(const std::string& gatewayAddress, unsigned short gatewayPort, unsigned short localPort, bool debug); CP25Network(const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& localAddress, unsigned short localPort, bool debug);
~CP25Network(); ~CP25Network();
bool open(); bool open();

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018,2019,2020 by Jonathan Naylor G4KLX * Copyright (C) 2018,2019,2020,2021 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
@ -28,8 +28,8 @@
const unsigned int BUFFER_LENGTH = 200U; const unsigned int BUFFER_LENGTH = 200U;
CPOCSAGNetwork::CPOCSAGNetwork(const std::string& myAddress, unsigned short myPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug) : CPOCSAGNetwork::CPOCSAGNetwork(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug) :
m_socket(myAddress, myPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_debug(debug), m_debug(debug),

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018,2020 by Jonathan Naylor G4KLX * Copyright (C) 2018,2020,2021 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
@ -29,7 +29,7 @@
class CPOCSAGNetwork { class CPOCSAGNetwork {
public: public:
CPOCSAGNetwork(const std::string& myAddress, unsigned short myPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug); CPOCSAGNetwork(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, bool debug);
~CPOCSAGNetwork(); ~CPOCSAGNetwork();
bool open(); bool open();

View File

@ -24,8 +24,8 @@
const unsigned int BUFFER_LENGTH = 600U; const unsigned int BUFFER_LENGTH = 600U;
CUDPController::CUDPController(const std::string& modemAddress, unsigned int modemPort, unsigned int localPort) : CUDPController::CUDPController(const std::string& modemAddress, unsigned int modemPort, const std::string& localAddress, unsigned int localPort) :
m_socket(localPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_buffer(2000U, "UDP Controller Ring Buffer") m_buffer(2000U, "UDP Controller Ring Buffer")

View File

@ -27,7 +27,7 @@
class CUDPController : public IModemPort { class CUDPController : public IModemPort {
public: public:
CUDPController(const std::string& modemAddress, unsigned int modemPort, unsigned int localPort); CUDPController(const std::string& modemAddress, unsigned int modemPort, const std::string& localAddress, unsigned int localPort);
virtual ~CUDPController(); virtual ~CUDPController();
virtual bool open(); virtual bool open();

View File

@ -19,6 +19,6 @@
#if !defined(VERSION_H) #if !defined(VERSION_H)
#define VERSION_H #define VERSION_H
const char* VERSION = "20210424"; const char* VERSION = "20210425";
#endif #endif

View File

@ -28,8 +28,8 @@
const unsigned int BUFFER_LENGTH = 200U; const unsigned int BUFFER_LENGTH = 200U;
CYSFNetwork::CYSFNetwork(const std::string& myAddress, unsigned short myPort, const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& callsign, bool debug) : CYSFNetwork::CYSFNetwork(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& callsign, bool debug) :
m_socket(myAddress, myPort), m_socket(localAddress, localPort),
m_addr(), m_addr(),
m_addrLen(0U), m_addrLen(0U),
m_callsign(), m_callsign(),

View File

@ -29,7 +29,7 @@
class CYSFNetwork { class CYSFNetwork {
public: public:
CYSFNetwork(const std::string& myAddress, unsigned short myPort, const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& callsign, bool debug); CYSFNetwork(const std::string& localAddress, unsigned short localPort, const std::string& gatewayAddress, unsigned short gatewayPort, const std::string& callsign, bool debug);
~CYSFNetwork(); ~CYSFNetwork();
bool open(); bool open();