From 125f21735bedb1c56ee7fc732847f74884067737 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 12 Mar 2021 19:56:05 +0000 Subject: [PATCH] Move the host lookup for the DMR Direct Network. --- DMRDirectNetwork.cpp | 7 +++---- DMRDirectNetwork.h | 4 +++- Version.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/DMRDirectNetwork.cpp b/DMRDirectNetwork.cpp index 8bb397f..4ed871c 100644 --- a/DMRDirectNetwork.cpp +++ b/DMRDirectNetwork.cpp @@ -31,6 +31,8 @@ const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U; CDMRDirectNetwork::CDMRDirectNetwork(const std::string& address, unsigned int port, unsigned int local, 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_port(port), m_addr(), m_addrLen(0U), m_id(NULL), @@ -70,9 +72,6 @@ m_beacon(false) assert(id > 1000U); assert(!password.empty()); - if (CUDPSocket::lookup(address, port, m_addr, m_addrLen) != 0) - m_addrLen = 0U; - m_buffer = new unsigned char[BUFFER_LENGTH]; m_salt = new unsigned char[sizeof(uint32_t)]; m_id = new uint8_t[4U]; @@ -122,7 +121,7 @@ void CDMRDirectNetwork::setConfig(const std::string& callsign, unsigned int rxFr bool CDMRDirectNetwork::open() { - if (m_addrLen == 0U) { + if (CUDPSocket::lookup(m_address, m_port, m_addr, m_addrLen) != 0) { LogError("DMR, Could not lookup the address of the DMR Network"); return false; } diff --git a/DMRDirectNetwork.h b/DMRDirectNetwork.h index 896d5e4..30ba951 100644 --- a/DMRDirectNetwork.h +++ b/DMRDirectNetwork.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015,2016,2017,2018,2020 by Jonathan Naylor G4KLX + * Copyright (C) 2015,2016,2017,2018,2020,2021 by Jonathan Naylor G4KLX * * 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 @@ -58,6 +58,8 @@ public: virtual void close(); private: + std::string m_address; + unsigned int m_port; sockaddr_storage m_addr; unsigned int m_addrLen; uint8_t* m_id; diff --git a/Version.h b/Version.h index 8a94573..6e4502f 100644 --- a/Version.h +++ b/Version.h @@ -19,6 +19,6 @@ #if !defined(VERSION_H) #define VERSION_H -const char* VERSION = "20210309"; +const char* VERSION = "20210312"; #endif