Optionally suppress location information info being sent to the masters.

This commit is contained in:
Jonathan Naylor
2017-09-16 14:33:04 +01:00
parent ee2b701bb8
commit 9289d48939
4 changed files with 32 additions and 0 deletions

View File

@@ -63,6 +63,7 @@ m_dmrNetwork1Local(0U),
m_dmrNetwork1Password(),
m_dmrNetwork1Options(),
m_dmrNetwork1Debug(false),
m_dmrNetwork1Location(true),
m_dmrNetwork1TGRewrites(),
m_dmrNetwork1PCRewrites(),
m_dmrNetwork1TypeRewrites(),
@@ -77,6 +78,7 @@ m_dmrNetwork2Port(0U),
m_dmrNetwork2Local(0U),
m_dmrNetwork2Password(),
m_dmrNetwork2Options(),
m_dmrNetwork2Location(true),
m_dmrNetwork2Debug(false),
m_dmrNetwork2TGRewrites(),
m_dmrNetwork2PCRewrites(),
@@ -271,6 +273,8 @@ bool CConf::read()
m_dmrNetwork1Password = value;
else if (::strcmp(key, "Options") == 0)
m_dmrNetwork1Options = value;
else if (::strcmp(key, "Location") == 0)
m_dmrNetwork1Location = ::atoi(value) == 1;
else if (::strcmp(key, "Debug") == 0)
m_dmrNetwork1Debug = ::atoi(value) == 1;
else if (::strcmp(key, "TGRewrite") == 0) {
@@ -355,6 +359,8 @@ bool CConf::read()
m_dmrNetwork2Password = value;
else if (::strcmp(key, "Options") == 0)
m_dmrNetwork2Options = value;
else if (::strcmp(key, "Location") == 0)
m_dmrNetwork2Location = ::atoi(value) == 1;
else if (::strcmp(key, "Debug") == 0)
m_dmrNetwork2Debug = ::atoi(value) == 1;
else if (::strcmp(key, "TGRewrite") == 0) {
@@ -694,6 +700,11 @@ std::string CConf::getDMRNetwork1Options() const
return m_dmrNetwork1Options;
}
bool CConf::getDMRNetwork1Location() const
{
return m_dmrNetwork1Location;
}
bool CConf::getDMRNetwork1Debug() const
{
return m_dmrNetwork1Debug;
@@ -772,6 +783,11 @@ std::string CConf::getDMRNetwork2Options() const
return m_dmrNetwork2Options;
}
bool CConf::getDMRNetwork2Location() const
{
return m_dmrNetwork2Location;
}
bool CConf::getDMRNetwork2Debug() const
{
return m_dmrNetwork2Debug;

4
Conf.h
View File

@@ -91,6 +91,7 @@ public:
unsigned int getDMRNetwork1Local() const;
std::string getDMRNetwork1Password() const;
std::string getDMRNetwork1Options() const;
bool getDMRNetwork1Location() const;
bool getDMRNetwork1Debug() const;
std::vector<CTGRewriteStruct> getDMRNetwork1TGRewrites() const;
std::vector<CPCRewriteStruct> getDMRNetwork1PCRewrites() const;
@@ -108,6 +109,7 @@ public:
unsigned int getDMRNetwork2Local() const;
std::string getDMRNetwork2Password() const;
std::string getDMRNetwork2Options() const;
bool getDMRNetwork2Location() const;
bool getDMRNetwork2Debug() const;
std::vector<CTGRewriteStruct> getDMRNetwork2TGRewrites() const;
std::vector<CPCRewriteStruct> getDMRNetwork2PCRewrites() const;
@@ -176,6 +178,7 @@ private:
unsigned int m_dmrNetwork1Local;
std::string m_dmrNetwork1Password;
std::string m_dmrNetwork1Options;
bool m_dmrNetwork1Location;
bool m_dmrNetwork1Debug;
std::vector<CTGRewriteStruct> m_dmrNetwork1TGRewrites;
std::vector<CPCRewriteStruct> m_dmrNetwork1PCRewrites;
@@ -192,6 +195,7 @@ private:
unsigned int m_dmrNetwork2Local;
std::string m_dmrNetwork2Password;
std::string m_dmrNetwork2Options;
bool m_dmrNetwork2Location;
bool m_dmrNetwork2Debug;
std::vector<CTGRewriteStruct> m_dmrNetwork2TGRewrites;
std::vector<CPCRewriteStruct> m_dmrNetwork2PCRewrites;

View File

@@ -968,6 +968,7 @@ bool CDMRGateway::createDMRNetwork1()
unsigned int local = m_conf.getDMRNetwork1Local();
unsigned int id = m_conf.getDMRNetwork1Id();
std::string password = m_conf.getDMRNetwork1Password();
bool location = m_conf.getDMRNetwork1Location();
bool debug = m_conf.getDMRNetwork1Debug();
m_dmr1Name = m_conf.getDMRNetwork1Name();
@@ -983,6 +984,7 @@ bool CDMRGateway::createDMRNetwork1()
LogInfo(" Local: %u", local);
else
LogInfo(" Local: random");
LogInfo(" Location Data: %s", location ? "yes" : "no");
m_dmrNetwork1 = new CDMRNetwork(address, port, local, id, password, m_dmr1Name, debug);
@@ -998,6 +1000,9 @@ bool CDMRGateway::createDMRNetwork1()
unsigned char config[400U];
unsigned int len = m_repeater->getConfig(config);
if (!location)
::memcpy(config + 30U, "0.00000000.000000", 17U);
m_dmrNetwork1->setConfig(config, len);
bool ret = m_dmrNetwork1->open();
@@ -1090,6 +1095,7 @@ bool CDMRGateway::createDMRNetwork2()
unsigned int local = m_conf.getDMRNetwork2Local();
unsigned int id = m_conf.getDMRNetwork2Id();
std::string password = m_conf.getDMRNetwork2Password();
bool location = m_conf.getDMRNetwork2Location();
bool debug = m_conf.getDMRNetwork2Debug();
m_dmr2Name = m_conf.getDMRNetwork2Name();
@@ -1105,6 +1111,7 @@ bool CDMRGateway::createDMRNetwork2()
LogInfo(" Local: %u", local);
else
LogInfo(" Local: random");
LogInfo(" Location Data: %s", location ? "yes" : "no");
m_dmrNetwork2 = new CDMRNetwork(address, port, local, id, password, m_dmr2Name, debug);
@@ -1120,6 +1127,9 @@ bool CDMRGateway::createDMRNetwork2()
unsigned char config[400U];
unsigned int len = m_repeater->getConfig(config);
if (!location)
::memcpy(config + 30U, "0.00000000.000000", 17U);
m_dmrNetwork2->setConfig(config, len);
bool ret = m_dmrNetwork2->open();

View File

@@ -70,6 +70,7 @@ SrcRewrite=2,4000,2,9,1001
PassAllPC=1
PassAllPC=2
Password=PASSWORD
Location=1
Debug=0
# DMR+
@@ -89,4 +90,5 @@ PCRewrite=2,84000,2,4000,1001
PassAllTG=1
PassAllTG=2
Password=PASSWORD
Location=0
Debug=0