No more hardcoded G2 port in repeater handler

This commit is contained in:
Geoffrey Merck F4FXL - KC3FRA 2018-11-18 21:39:16 +01:00
parent 65d7081f29
commit 713f2958c2
3 changed files with 20 additions and 6 deletions

View file

@ -109,6 +109,7 @@ m_g2Repeater(),
m_g2Gateway(),
m_g2Header(NULL),
m_g2Address(),
m_g2Port(G2_DV_PORT),
m_linkStatus(LS_NONE),
m_linkRepeater(),
m_linkGateway(),
@ -632,6 +633,7 @@ void CRepeaterHandler::processRepeater(CHeaderData& header)
m_g2User.Clear();
m_g2Repeater.Clear();
m_g2Gateway.Clear();
m_g2Port = G2_DV_PORT;
// Check if this user is restricted
m_restricted = false;
@ -829,7 +831,7 @@ void CRepeaterHandler::processRepeater(CAMBEData& data)
break;
case G2_OK:
data.setDestination(m_g2Address, G2_DV_PORT);
data.setDestination(m_g2Address, m_g2Port);
m_g2Handler->writeAMBE(data);
if (data.isEnd()) {
@ -1213,7 +1215,7 @@ void CRepeaterHandler::resolveUserInt(const wxString& user, const wxString& repe
m_g2Repeater = repeater;
m_g2Gateway = gateway;
m_g2Header->setDestination(m_g2Address, G2_DV_PORT);
m_g2Header->setDestination(m_g2Address, m_g2Port);
m_g2Header->setRepeaters(m_g2Gateway, m_g2Repeater);
m_g2Handler->writeHeader(*m_g2Header);
@ -1226,6 +1228,7 @@ void CRepeaterHandler::resolveUserInt(const wxString& user, const wxString& repe
m_g2User.Clear();
m_g2Repeater.Clear();
m_g2Gateway.Clear();
m_g2Port = G2_DV_PORT;
delete m_g2Header;
m_g2Header = NULL;
@ -1245,7 +1248,10 @@ void CRepeaterHandler::resolveRepeaterInt(const wxString& repeater, const wxStri
m_g2Repeater = repeater;
m_g2Gateway = gateway;
m_g2Header->setDestination(m_g2Address, G2_DV_PORT);
CRepeaterData* rpt = m_cache->findRepeater(repeater);
m_g2Port = rpt != NULL ? rpt->getG2Port() : G2_DV_PORT;
m_g2Header->setDestination(m_g2Address, m_g2Port);
m_g2Header->setRepeaters(m_g2Gateway, m_g2Repeater);
m_g2Handler->writeHeader(*m_g2Header);
@ -1258,6 +1264,7 @@ void CRepeaterHandler::resolveRepeaterInt(const wxString& repeater, const wxStri
m_g2User.Clear();
m_g2Repeater.Clear();
m_g2Gateway.Clear();
m_g2Port = G2_DV_PORT;
delete m_g2Header;
m_g2Header = NULL;
@ -1459,6 +1466,7 @@ void CRepeaterHandler::clockInt(unsigned int ms)
m_g2User.Clear();
m_g2Repeater.Clear();
m_g2Gateway.Clear();
m_g2Port = G2_DV_PORT;
delete m_g2Header;
m_g2Header = NULL;
@ -1983,7 +1991,8 @@ void CRepeaterHandler::g2CommandHandler(const wxString& callsign, const wxString
m_g2Status = G2_OK;
m_g2Address = data->getAddress();
m_g2Gateway = data->getGateway();
header.setDestination(m_g2Address, G2_DV_PORT);
m_g2Port = data->getG2Port();
header.setDestination(m_g2Address, m_g2Port);
header.setRepeaters(m_g2Gateway, m_g2Repeater);
m_g2Handler->writeHeader(header);
delete data;
@ -2025,7 +2034,9 @@ void CRepeaterHandler::g2CommandHandler(const wxString& callsign, const wxString
m_g2Address = data->getAddress();
m_g2Repeater = data->getRepeater();
m_g2Gateway = data->getGateway();
header.setDestination(m_g2Address, data->getG2Port());
m_g2Port = data->getG2Port();
wxLogMessage(wxT("%s is trying to G2 route to gateway %s on port %d"), user.c_str(), m_g2Gateway.c_str(), m_g2Port);
header.setDestination(m_g2Address, m_g2Port);
header.setRepeaters(m_g2Gateway, m_g2Repeater);
m_g2Handler->writeHeader(header);