XLX: Add option to overide default module in config.

This commit is contained in:
Simon 2018-10-21 15:26:54 +01:00
parent 6a449f4d90
commit 8ed2565a25
4 changed files with 22 additions and 3 deletions

View file

@ -127,7 +127,8 @@ m_xlxNetworkBase(84000U),
m_xlxNetworkStartup(4000U),
m_xlxNetworkRelink(0U),
m_xlxNetworkDebug(false),
m_xlxNetworkUserControl(true)
m_xlxNetworkUserControl(true),
m_xlxNetworkModule()
{
}
@ -274,7 +275,9 @@ bool CConf::read()
else if (::strcmp(key, "Debug") == 0)
m_xlxNetworkDebug = ::atoi(value) == 1;
else if (::strcmp(key, "UserControl") == 0)
m_xlxNetworkUserControl = atoi(value) ==1;
m_xlxNetworkUserControl = ::atoi(value) ==1;
else if (::strcmp(key, "Module") == 0)
m_xlxNetworkModule = value[0];
} else if (section == SECTION_DMR_NETWORK_1) {
if (::strcmp(key, "Enabled") == 0)
m_dmrNetwork1Enabled = ::atoi(value) == 1;
@ -739,6 +742,10 @@ bool CConf::getXLXNetworkUserControl() const
{
return m_xlxNetworkUserControl;
}
char CConf::getXLXNetworkModule() const
{
return m_xlxNetworkModule;
}
bool CConf::getDMRNetwork1Enabled() const
{

2
Conf.h
View file

@ -164,6 +164,7 @@ public:
unsigned int getXLXNetworkRelink() const;
bool getXLXNetworkDebug() const;
bool getXLXNetworkUserControl() const;
char getXLXNetworkModule() const;
private:
std::string m_file;
@ -262,6 +263,7 @@ private:
unsigned int m_xlxNetworkRelink;
bool m_xlxNetworkDebug;
bool m_xlxNetworkUserControl;
char m_xlxNetworkModule;
};
#endif

View file

@ -157,6 +157,7 @@ m_xlxRelink(1000U),
m_xlxConnected(false),
m_xlxDebug(false),
m_xlxUserControl(true),
m_xlxModule(),
m_rptRewrite(NULL),
m_xlxRewrite(NULL),
m_dmr1NetRewrites(),
@ -1385,6 +1386,7 @@ bool CDMRGateway::createXLXNetwork()
m_xlxTG = m_conf.getXLXNetworkTG();
m_xlxBase = m_conf.getXLXNetworkBase();
m_xlxStartup = m_conf.getXLXNetworkStartup();
m_xlxModule = m_conf.getXLXNetworkModule();
unsigned int xlxRelink = m_conf.getXLXNetworkRelink();
@ -1413,6 +1415,9 @@ bool CDMRGateway::createXLXNetwork()
} else {
LogInfo(" User Control: disabled");
}
if (m_xlxModule) {
LogInfo(" Module: %c",m_xlxModule);
}
if (m_xlxStartup > 0U)
@ -1454,7 +1459,11 @@ bool CDMRGateway::linkXLX(unsigned int number)
}
m_xlxNumber = number;
m_xlxRoom = reflector->m_startup;
if (m_xlxModule) {
m_xlxRoom = (int(m_xlxModule) - 94);
} else {
m_xlxRoom = reflector->m_startup;
}
m_xlxReflector = 4000U;
LogMessage("XLX, Connecting to XLX%03u", m_xlxNumber);

View file

@ -66,6 +66,7 @@ private:
bool m_xlxConnected;
bool m_xlxDebug;
bool m_xlxUserControl;
char m_xlxModule;
CRewriteTG* m_rptRewrite;
CRewriteTG* m_xlxRewrite;
std::vector<CRewrite*> m_dmr1NetRewrites;