2017-06-05 Fred Gleason <fredg@paravelsystems.com>

* Added a 'Air Gate' ['AG'] RML.
This commit is contained in:
Fred Gleason
2017-06-05 17:22:34 -04:00
parent ddee26a1f1
commit 5ab1be62e4
5 changed files with 58 additions and 10 deletions

View File

@@ -24,6 +24,7 @@
#include <qdir.h>
#include <qsessionmanager.h>
#include <qsignalmapper.h>
#include <qstringlist.h>
#include <unistd.h>
#include <stdio.h>
@@ -701,6 +702,22 @@ void MainObject::ReadRmlSocket(QSocketDevice *dev,RDMacro::Role role,
while((n=dev->readBlock(buffer,RD_RML_MAX_LENGTH))>0) {
buffer[n]=0;
if(macro.parseString(buffer,n)) {
if(macro.command()==RDMacro::AG) {
if(ripc_onair_flag) {
QStringList f0=f0.split(" ",buffer);
f0.pop_front();
QString rmlstr=f0.join(" ");
if(!macro.parseString(rmlstr,rmlstr.length())) {
break;
}
}
else {
LogLine(RDConfig::LogDebug,
QString("rejected rml: \"")+buffer+
"\": on-air flag not active");
break;
}
}
macro.setRole(role);
macro.setAddress(dev->peerAddress());
macro.setEchoRequested(echo);