Add DMR prefix checking.

This commit is contained in:
Jonathan Naylor
2016-04-04 19:03:38 +01:00
parent ea51eee15c
commit a2130421a9
8 changed files with 96 additions and 25 deletions

View File

@@ -79,6 +79,7 @@ m_dmrBeacons(false),
m_dmrId(0U),
m_dmrColorCode(2U),
m_dmrSelfOnly(false),
m_dmrPrefixes(),
m_fusionEnabled(true),
m_fusionParrotEnabled(false),
m_dstarNetworkEnabled(true),
@@ -238,6 +239,15 @@ bool CConf::read()
m_dmrColorCode = (unsigned int)::atoi(value);
else if (::strcmp(key, "SelfOnly") == 0)
m_dmrSelfOnly = ::atoi(value) == 1;
else if (::strcmp(key, "Prefixes") == 0) {
char* p = ::strtok(value, ",\r\n");
while (p != NULL) {
unsigned int prefix = (unsigned int)::atoi(p);
if (prefix > 0U && prefix <= 999U)
m_dmrPrefixes.push_back(prefix);
p = ::strtok(NULL, ",\r\n");
}
}
} else if (section == SECTION_FUSION) {
if (::strcmp(key, "Enable") == 0)
m_fusionEnabled = ::atoi(value) == 1;
@@ -478,6 +488,11 @@ bool CConf::getDMRSelfOnly() const
return m_dmrSelfOnly;
}
std::vector<unsigned int> CConf::getDMRPrefixes() const
{
return m_dmrPrefixes;
}
bool CConf::getFusionEnabled() const
{
return m_fusionEnabled;