mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 15:09:23 +08:00
Add the D-Star networking.
This commit is contained in:
@@ -73,6 +73,7 @@ int main(int argc, char** argv)
|
||||
CMMDVMHost::CMMDVMHost(const std::string& confFile) :
|
||||
m_conf(confFile),
|
||||
m_modem(NULL),
|
||||
m_dstarNetwork(NULL),
|
||||
m_dmrNetwork(NULL),
|
||||
m_display(NULL),
|
||||
m_dstarEnabled(false),
|
||||
@@ -116,6 +117,12 @@ int CMMDVMHost::run()
|
||||
|
||||
createDisplay();
|
||||
|
||||
if (m_dstarEnabled && m_conf.getDStarNetworkEnabled()) {
|
||||
ret = createDStarNetwork();
|
||||
if (!ret)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (m_dmrEnabled && m_conf.getDMRNetworkEnabled()) {
|
||||
ret = createDMRNetwork();
|
||||
if (!ret)
|
||||
@@ -375,6 +382,11 @@ int CMMDVMHost::run()
|
||||
m_display->close();
|
||||
delete m_display;
|
||||
|
||||
if (m_dstarNetwork != NULL) {
|
||||
m_dstarNetwork->close();
|
||||
delete m_dstarNetwork;
|
||||
}
|
||||
|
||||
if (m_dmrNetwork != NULL) {
|
||||
m_dmrNetwork->close();
|
||||
delete m_dmrNetwork;
|
||||
@@ -422,6 +434,35 @@ bool CMMDVMHost::createModem()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CMMDVMHost::createDStarNetwork()
|
||||
{
|
||||
if (!m_conf.getDStarNetworkEnabled())
|
||||
return false;
|
||||
|
||||
std::string gatewayAddress = m_conf.getDStarGatewayAddress();
|
||||
unsigned int gatewayPort = m_conf.getDStarGatewayPort();
|
||||
unsigned int localPort = m_conf.getDStarLocalPort();
|
||||
bool debug = m_conf.getDStarNetworkDebug();
|
||||
|
||||
LogInfo("D-Star Network Parameters");
|
||||
LogInfo(" Gateway Address: %s", gatewayAddress.c_str());
|
||||
LogInfo(" Gateway Port: %u", gatewayPort);
|
||||
LogInfo(" Local Port: %u", localPort);
|
||||
|
||||
m_dstarNetwork = new CDStarNetwork(gatewayAddress, gatewayPort, localPort, debug);
|
||||
|
||||
bool ret = m_dstarNetwork->open();
|
||||
if (!ret) {
|
||||
delete m_dstarNetwork;
|
||||
m_dstarNetwork = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_dstarNetwork->enable(true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CMMDVMHost::createDMRNetwork()
|
||||
{
|
||||
if (!m_conf.getDMRNetworkEnabled())
|
||||
|
||||
Reference in New Issue
Block a user