mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-23 16:11:41 +02:00
2018-07-18 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up SQL quieries in 'ripcd/' to ensure UTF-8 compatibility.
This commit is contained in:
parent
6e2b2a7e0b
commit
f7bae36307
@ -17161,3 +17161,6 @@
|
||||
2018-07-17 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Cleaned up SQL quieries in 'rdrepld/' to ensure UTF-8
|
||||
compatibility.
|
||||
2018-07-18 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Cleaned up SQL quieries in 'ripcd/' to ensure UTF-8
|
||||
compatibility.
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "livewire_lwrpaudio.h"
|
||||
@ -41,10 +42,14 @@ LiveWireLwrpAudio::LiveWireLwrpAudio(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load The Node List
|
||||
//
|
||||
sql=QString().sprintf("select HOSTNAME,TCP_PORT,PASSWORD,BASE_OUTPUT \
|
||||
from SWITCHER_NODES where (STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)",(const char *)livewire_stationname,
|
||||
livewire_matrix);
|
||||
sql=QString("select ")+
|
||||
"HOSTNAME,"+ // 00
|
||||
"TCP_PORT,"+ // 01
|
||||
"PASSWORD,"+ // 02
|
||||
"BASE_OUTPUT "+ // 03
|
||||
"from SWITCHER_NODES where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)",livewire_matrix);
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
livewire_nodes.push_back(new RDLiveWire(livewire_nodes.size(),this));
|
||||
@ -58,20 +63,6 @@ LiveWireLwrpAudio::LiveWireLwrpAudio(RDMatrix *matrix,QObject *parent)
|
||||
SIGNAL(destinationChanged(unsigned,RDLiveWireDestination *)),
|
||||
this,
|
||||
SLOT(destinationChangedData(unsigned,RDLiveWireDestination *)));
|
||||
/*
|
||||
connect(livewire_nodes.back(),
|
||||
SIGNAL(gpoConfigChanged(unsigned,unsigned,unsigned)),
|
||||
this,
|
||||
SLOT(gpoConfigChangedData(unsigned,unsigned,unsigned)));
|
||||
connect(livewire_nodes.back(),
|
||||
SIGNAL(gpiChanged(unsigned,unsigned,unsigned,bool)),
|
||||
this,
|
||||
SLOT(gpiChangedData(unsigned,unsigned,unsigned,bool)));
|
||||
connect(livewire_nodes.back(),
|
||||
SIGNAL(gpoChanged(unsigned,unsigned,unsigned,bool)),
|
||||
this,
|
||||
SLOT(gpoChangedData(unsigned,unsigned,unsigned,bool)));
|
||||
*/
|
||||
connect(livewire_nodes.back(),
|
||||
SIGNAL(watchdogStateChanged(unsigned,const QString &)),
|
||||
this,SLOT(watchdogStateChangedData(unsigned,const QString &)));
|
||||
@ -187,36 +178,24 @@ void LiveWireLwrpAudio::sourceChangedData(unsigned id,RDLiveWireSource *src)
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString().sprintf("delete from INPUTS where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&\
|
||||
(NODE_HOSTNAME=\"%s\")&&\
|
||||
(NODE_TCP_PORT=%d)&&\
|
||||
(NODE_SLOT=%d)",
|
||||
(const char *)livewire_stationname,
|
||||
livewire_matrix,
|
||||
(const char *)livewire_nodes[id]->hostname(),
|
||||
livewire_nodes[id]->tcpPort(),
|
||||
src->slotNumber());
|
||||
sql=QString("delete from INPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",livewire_matrix)+
|
||||
"(NODE_HOSTNAME=\""+RDEscapeString(livewire_nodes[id]->hostname())+"\")&&"+
|
||||
QString().sprintf("(NODE_TCP_PORT=%d)&&",livewire_nodes[id]->tcpPort())+
|
||||
QString().sprintf("(NODE_SLOT=%d)",src->slotNumber());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
||||
if(src->rtpEnabled()) {
|
||||
sql=QString().sprintf("insert into INPUTS set \
|
||||
STATION_NAME=\"%s\",\
|
||||
MATRIX=%d,\
|
||||
NODE_HOSTNAME=\"%s\",\
|
||||
NODE_TCP_PORT=%d,\
|
||||
NODE_SLOT=%d,\
|
||||
NAME=\"%s\",\
|
||||
NUMBER=%d",
|
||||
(const char *)livewire_stationname,
|
||||
livewire_matrix,
|
||||
(const char *)livewire_nodes[id]->hostname(),
|
||||
livewire_nodes[id]->tcpPort(),
|
||||
src->slotNumber(),
|
||||
(const char *)src->primaryName(),
|
||||
src->channelNumber());
|
||||
sql=QString("insert into INPUTS set ")+
|
||||
"STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\","+
|
||||
QString().sprintf("MATRIX=%d,",livewire_matrix)+
|
||||
"NODE_HOSTNAME=\""+RDEscapeString(livewire_nodes[id]->hostname())+"\","+
|
||||
QString().sprintf("NODE_TCP_PORT=%d,",livewire_nodes[id]->tcpPort())+
|
||||
QString().sprintf("NODE_SLOT=%d,",src->slotNumber())+
|
||||
"NAME=\""+RDEscapeString(src->primaryName())+"\","+
|
||||
QString().sprintf("NUMBER=%d",src->channelNumber());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
@ -228,35 +207,24 @@ void LiveWireLwrpAudio::destinationChangedData(unsigned id,RDLiveWireDestination
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString().sprintf("delete from OUTPUTS where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&\
|
||||
(NODE_HOSTNAME=\"%s\")&&\
|
||||
(NODE_TCP_PORT=%d)&&\
|
||||
(NODE_SLOT=%d)",
|
||||
(const char *)livewire_stationname,
|
||||
livewire_matrix,
|
||||
(const char *)livewire_nodes[id]->hostname(),
|
||||
livewire_nodes[id]->tcpPort(),
|
||||
dst->slotNumber());
|
||||
sql=QString("delete from OUTPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",livewire_matrix)+
|
||||
"(NODE_HOSTNAME=\""+RDEscapeString(livewire_nodes[id]->hostname())+"\")&&"+
|
||||
QString().sprintf("(NODE_TCP_PORT=%d)&&",livewire_nodes[id]->tcpPort())+
|
||||
QString().sprintf("(NODE_SLOT=%d)",dst->slotNumber());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
||||
sql=QString().sprintf("insert into OUTPUTS set \
|
||||
STATION_NAME=\"%s\",\
|
||||
MATRIX=%d,\
|
||||
NODE_HOSTNAME=\"%s\",\
|
||||
NODE_TCP_PORT=%d,\
|
||||
NODE_SLOT=%d,\
|
||||
NAME=\"%s\",\
|
||||
NUMBER=%d",
|
||||
(const char *)livewire_stationname,
|
||||
livewire_matrix,
|
||||
(const char *)livewire_nodes[id]->hostname(),
|
||||
livewire_nodes[id]->tcpPort(),
|
||||
dst->slotNumber(),
|
||||
(const char *)dst->primaryName(),
|
||||
livewire_nodes[id]->baseOutput()+dst->slotNumber()-1);
|
||||
sql=QString("insert into OUTPUTS set ")+
|
||||
"STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\","+
|
||||
QString().sprintf("MATRIX=%d,",livewire_matrix)+
|
||||
"NODE_HOSTNAME=\""+RDEscapeString(livewire_nodes[id]->hostname())+"\","+
|
||||
QString().sprintf("NODE_TCP_PORT=%d,",livewire_nodes[id]->tcpPort())+
|
||||
QString().sprintf("NODE_SLOT=%d,",dst->slotNumber())+
|
||||
"NAME=\""+RDEscapeString(dst->primaryName())+"\","+
|
||||
QString().sprintf("NUMBER=%d",
|
||||
livewire_nodes[id]->baseOutput()+dst->slotNumber()-1);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// A Rivendell LWRP GPIO driver for LiveWire networks.
|
||||
//
|
||||
// (C) Copyright 2013,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2013,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
|
@ -138,7 +138,11 @@ LiveWireMcastGpio::LiveWireMcastGpio(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Source Table
|
||||
//
|
||||
sql=QString("select SLOT,SOURCE_NUMBER,IP_ADDRESS from LIVEWIRE_GPIO_SLOTS ")+
|
||||
sql=QString("select ")+
|
||||
"SLOT,"+ // 00
|
||||
"SOURCE_NUMBER,"+ // 01
|
||||
"IP_ADDRESS "+ // 02
|
||||
"from LIVEWIRE_GPIO_SLOTS "+
|
||||
"where (STATION_NAME=\""+RDEscapeString(livewire_stationname)+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d) ",livewire_matrix)+
|
||||
"order by SLOT";
|
||||
|
@ -161,9 +161,14 @@ void MainObject::LoadLocalMacros()
|
||||
//
|
||||
// Initialize Matrices
|
||||
//
|
||||
sql=QString().sprintf("select MATRIX,TYPE,PORT,INPUTS,OUTPUTS from MATRICES \
|
||||
where STATION_NAME=\"%s\"",
|
||||
(const char *)rda->station()->name());
|
||||
sql=QString("select ")+
|
||||
"MATRIX,"+ // 00
|
||||
"TYPE,"+ // 01
|
||||
"PORT,"+ // 02
|
||||
"INPUTS,"+ // 03
|
||||
"OUTPUTS "+ // 04
|
||||
"from MATRICES where "+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
if(!LoadSwitchDriver(q->value(0).toInt())) {
|
||||
@ -177,10 +182,16 @@ void MainObject::LoadLocalMacros()
|
||||
//
|
||||
// Initialize TTYs
|
||||
//
|
||||
sql=QString().sprintf("select PORT_ID,PORT,BAUD_RATE,DATA_BITS,PARITY,\
|
||||
TERMINATION from TTYS where (STATION_NAME=\"%s\")&&\
|
||||
(ACTIVE=\"Y\")",
|
||||
(const char *)rda->station()->name());
|
||||
sql=QString("select ")+
|
||||
"PORT_ID,"+ // 00
|
||||
"PORT,"+ // 01
|
||||
"BAUD_RATE,"+ // 02
|
||||
"DATA_BITS,"+ // 03
|
||||
"PARITY,"+ // 04
|
||||
"TERMINATION "+ // 05
|
||||
"from TTYS where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
"(ACTIVE=\"Y\")";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
tty_port=q->value(0).toUInt();
|
||||
@ -778,10 +789,17 @@ void MainObject::RunLocalMacros(RDMacro *rml)
|
||||
//
|
||||
// Try to Restart
|
||||
//
|
||||
sql=QString().sprintf("select PORT_ID,PORT,BAUD_RATE,DATA_BITS,PARITY,\
|
||||
TERMINATION from TTYS where (STATION_NAME=\"%s\")&& \
|
||||
(ACTIVE=\"Y\")&&(PORT_ID=%d)",
|
||||
(const char *)rda->station()->name(),tty_port);
|
||||
sql=QString("select ")+
|
||||
"PORT_ID,"+ // 00
|
||||
"PORT,"+ // 01
|
||||
"BAUD_RATE,"+ // 02
|
||||
"DATA_BITS,"+ // 03
|
||||
"PARITY,"+ // 04
|
||||
"TERMINATION "+ // 05
|
||||
"from TTYS where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
"(ACTIVE=\"Y\")&&"+
|
||||
QString().sprintf("(PORT_ID=%d)",tty_port);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
if(!ripcd_tty_inuse[tty_port]) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// A Rivendell switcher driver for Modbus TCP
|
||||
//
|
||||
// (C) Copyright 2017 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2017-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Rivendell Interprocess Communication Daemon
|
||||
//
|
||||
// (C) Copyright 2002-2007,2010,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2007,2010,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -41,6 +41,7 @@
|
||||
#include <rdapplication.h>
|
||||
#include <rdconf.h>
|
||||
#include <rdcheck_daemons.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <rdnotification.h>
|
||||
|
||||
#include "globals.h"
|
||||
@ -772,10 +773,13 @@ void MainObject::LoadGpiTable()
|
||||
}
|
||||
}
|
||||
}
|
||||
QString sql=QString().sprintf("select MATRIX,NUMBER,OFF_MACRO_CART,\
|
||||
MACRO_CART from GPIS \
|
||||
where STATION_NAME=\"%s\"",
|
||||
(const char *)rda->config()->stationName());
|
||||
QString sql=QString("select ")+
|
||||
"MATRIX,"+ // 00
|
||||
"NUMBER,"+ // 01
|
||||
"OFF_MACRO_CART,"+ // 02
|
||||
"MACRO_CART "+ // 03
|
||||
"from GPIS where "+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\"";
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
ripcd_gpi_macro[q->value(0).toInt()][q->value(1).toInt()-1][0]=
|
||||
@ -785,9 +789,13 @@ void MainObject::LoadGpiTable()
|
||||
}
|
||||
delete q;
|
||||
|
||||
sql=QString().sprintf("select MATRIX,NUMBER,OFF_MACRO_CART,MACRO_CART \
|
||||
from GPOS where STATION_NAME=\"%s\"",
|
||||
(const char *)rda->config()->stationName());
|
||||
sql=QString("select ")+
|
||||
"MATRIX,"+ // 00
|
||||
"NUMBER,"+ // 01
|
||||
"OFF_MACRO_CART,"+ // 02
|
||||
"MACRO_CART "+ // 03
|
||||
"from GPOS where "+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
ripcd_gpo_macro[q->value(0).toInt()][q->value(1).toInt()-1][0]=
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "sasusi.h"
|
||||
@ -52,12 +53,14 @@ SasUsi::SasUsi(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load Switch Table
|
||||
//
|
||||
sql=QString().
|
||||
sprintf("select ENGINE_NUM,DEVICE_NUM,RELAY_NUM \
|
||||
from VGUEST_RESOURCES where (STATION_NAME=\"%s\")&&\
|
||||
(MATRIX_NUM=%d) order by NUMBER",
|
||||
(const char *)rda->config()->stationName(),
|
||||
matrix->matrix());
|
||||
sql=QString("select ")+
|
||||
"ENGINE_NUM,"+ // 00
|
||||
"DEVICE_NUM,"+ // 01
|
||||
"RELAY_NUM "+ // 02
|
||||
"from VGUEST_RESOURCES where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
|
||||
QString().sprintf("(MATRIX_NUM=%d) ",matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
sas_console_numbers.push_back(q->value(0).toInt());
|
||||
@ -486,26 +489,24 @@ void SasUsi::DispatchCommand()
|
||||
if(sscanf(sas_buffer+1,"%u",&input)!=1) {
|
||||
return;
|
||||
}
|
||||
sql=QString().sprintf("select NUMBER from INPUTS where \
|
||||
(STATION_NAME=\"%s\")&& \
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,input);
|
||||
sql=QString("select NUMBER from INPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",sas_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",input);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
sql=QString().sprintf("update INPUTS set NAME=\"%s\" where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)label,
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,input);
|
||||
sql=QString("update INPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(label)+"\" where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",sas_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",input);
|
||||
}
|
||||
else {
|
||||
sql=QString().sprintf("insert into INPUTS set NAME=\"%s\",\
|
||||
STATION_NAME=\"%s\",MATRIX=%d,NUMBER=%d",
|
||||
(const char *)label,
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,input);
|
||||
sql=QString("insert into INPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(label)+"\","+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||
QString().sprintf("MATRIX=%d,",sas_matrix)+
|
||||
QString().sprintf("NUMBER=%d",input);
|
||||
}
|
||||
delete q;
|
||||
q=new RDSqlQuery(sql);
|
||||
@ -521,26 +522,24 @@ void SasUsi::DispatchCommand()
|
||||
if(sscanf(sas_buffer+1,"%u",&output)!=1) {
|
||||
return;
|
||||
}
|
||||
sql=QString().sprintf("select NUMBER from OUTPUTS where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,output);
|
||||
sql=QString("select NUMBER from OUTPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",sas_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",output);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
sql=QString().sprintf("update OUTPUTS set NAME=\"%s\" where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)label,
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,output);
|
||||
sql=QString("update OUTPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(label)+"\" where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",sas_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",output);
|
||||
}
|
||||
else {
|
||||
sql=QString().sprintf("insert into OUTPUTS set NAME=\"%s\",\
|
||||
STATION_NAME=\"%s\",MATRIX=%d,NUMBER=%d",
|
||||
(const char *)label,
|
||||
(const char *)rda->station()->name(),
|
||||
sas_matrix,output);
|
||||
sql=QString("insert into OUTPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(label)+"\","+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||
QString().sprintf("MATRIX=%d,",sas_matrix)+
|
||||
QString().sprintf("NUMBER=%d",output);
|
||||
}
|
||||
delete q;
|
||||
q=new RDSqlQuery(sql);
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "starguide3.h"
|
||||
@ -40,11 +41,15 @@ StarGuide3::StarGuide3(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load Feed Data
|
||||
//
|
||||
sql=QString().sprintf("select NUMBER,ENGINE_NUM,DEVICE_NUM,CHANNEL_MODE\
|
||||
from INPUTS where STATION_NAME=\"%s\" && MATRIX=%d \
|
||||
order by NUMBER",
|
||||
(const char *)rda->station()->name(),
|
||||
matrix->matrix());
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM,"+ // 02
|
||||
"CHANNEL_MODE "+ // 03
|
||||
"from INPUTS where "+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
q->first();
|
||||
for(int i=0;i<sg_inputs;i++) {
|
||||
|
@ -310,26 +310,24 @@ void SoftwareAuthority::DispatchCommand()
|
||||
if(f0.size()>=7) {
|
||||
name=f0[6]+": "+f0[2];
|
||||
}
|
||||
sql=QString().sprintf("select NUMBER from INPUTS where \
|
||||
(STATION_NAME=\"%s\")&& \
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("select NUMBER from INPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",swa_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",f0[0].toInt());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
sql=QString().sprintf("update INPUTS set NAME=\"%s\" where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)name,
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("update INPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(name)+"\" where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",swa_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",f0[0].toInt());
|
||||
}
|
||||
else {
|
||||
sql=QString().sprintf("insert into INPUTS set NAME=\"%s\",\
|
||||
STATION_NAME=\"%s\",MATRIX=%d,NUMBER=%d",
|
||||
(const char *)name,
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("insert into INPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(name)+"\","+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||
QString().sprintf("MATRIX=%d,",swa_matrix)+
|
||||
QString().sprintf("NUMBER=%d",f0[0].toInt());
|
||||
}
|
||||
delete q;
|
||||
q=new RDSqlQuery(sql);
|
||||
@ -364,26 +362,24 @@ void SoftwareAuthority::DispatchCommand()
|
||||
if(f0.size()>=6) {
|
||||
name=f0[3]+"/"+f0[5]+": "+f0[2];
|
||||
}
|
||||
sql=QString().sprintf("select NUMBER from OUTPUTS where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("select NUMBER from OUTPUTS where ")+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",swa_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",f0[0].toInt());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
sql=QString().sprintf("update OUTPUTS set NAME=\"%s\" where \
|
||||
(STATION_NAME=\"%s\")&&\
|
||||
(MATRIX=%d)&&(NUMBER=%d)",
|
||||
(const char *)name,
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("update OUTPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(name)+"\" where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d)&&",swa_matrix)+
|
||||
QString().sprintf("(NUMBER=%d)",f0[0].toInt());
|
||||
}
|
||||
else {
|
||||
sql=QString().sprintf("insert into OUTPUTS set NAME=\"%s\",\
|
||||
STATION_NAME=\"%s\",MATRIX=%d,NUMBER=%d",
|
||||
(const char *)name,
|
||||
(const char *)rda->station()->name(),
|
||||
swa_matrix,f0[0].toInt());
|
||||
sql=QString("insert into OUTPUTS set ")+
|
||||
"NAME=\""+RDEscapeString(name)+"\","+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||
QString().sprintf("MATRIX=%d,",swa_matrix)+
|
||||
QString().sprintf("NUMBER=%d",f0[0].toInt());
|
||||
}
|
||||
delete q;
|
||||
q=new RDSqlQuery(sql);
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "unity4000.h"
|
||||
@ -41,11 +42,14 @@ Unity4000::Unity4000(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load Feed Data
|
||||
//
|
||||
sql=QString().sprintf("select NUMBER,FEED_NAME,CHANNEL_MODE from INPUTS \
|
||||
where STATION_NAME=\"%s\" && MATRIX=%d \
|
||||
order by NUMBER",
|
||||
(const char *)rda->station()->name(),
|
||||
matrix->matrix());
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"FEED_NAME,"+ // 01
|
||||
"CHANNEL_MODE "+ // 02
|
||||
"from INPUTS where "+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
q->first();
|
||||
for(int i=0;i<unity_inputs;i++) {
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <qsignalmapper.h>
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include "vguest.h"
|
||||
@ -71,9 +72,14 @@ VGuest::VGuest(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load Engine Data - Inputs
|
||||
//
|
||||
sql=QString().sprintf("select NUMBER,ENGINE_NUM,DEVICE_NUM from INPUTS where\
|
||||
(STATION_NAME=\"%s\")&&(MATRIX=%d) order by NUMBER",
|
||||
(const char *)matrix->station(),matrix->matrix());
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM "+ // 02
|
||||
"from INPUTS where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(matrix->station())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d) ",matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
n=1;
|
||||
while(q->next()) {
|
||||
@ -92,9 +98,14 @@ VGuest::VGuest(RDMatrix *matrix,QObject *parent)
|
||||
// Load Engine Data - Outputs
|
||||
//
|
||||
sql=
|
||||
QString().sprintf("select NUMBER,ENGINE_NUM,DEVICE_NUM from OUTPUTS where\
|
||||
(STATION_NAME=\"%s\")&&(MATRIX=%d) order by NUMBER",
|
||||
(const char *)matrix->station(),matrix->matrix());
|
||||
QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM "+ // 02
|
||||
"from OUTPUTS where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(matrix->station())+"\")&&"+
|
||||
QString().sprintf("(MATRIX=%d) ",matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
n=1;
|
||||
while(q->next()) {
|
||||
@ -113,12 +124,17 @@ VGuest::VGuest(RDMatrix *matrix,QObject *parent)
|
||||
// Load Engine Data - Relays
|
||||
//
|
||||
sql=
|
||||
QString().sprintf("select NUMBER,ENGINE_NUM,DEVICE_NUM,SURFACE_NUM,\
|
||||
RELAY_NUM from VGUEST_RESOURCES where\
|
||||
(STATION_NAME=\"%s\")&&(MATRIX_NUM=%d)&&\
|
||||
(VGUEST_TYPE=%d) order by NUMBER",
|
||||
(const char *)matrix->station(),matrix->matrix(),
|
||||
RDMatrix::VguestTypeRelay);
|
||||
QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM,"+ // 02
|
||||
"SURFACE_NUM,"+ // 03
|
||||
"RELAY_NUM "+ // 04
|
||||
"from VGUEST_RESOURCES where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(matrix->station())+"\")&&"+
|
||||
QString().sprintf("(MATRIX_NUM=%d)&&",matrix->matrix())+
|
||||
QString().sprintf("(VGUEST_TYPE=%d) ",RDMatrix::VguestTypeRelay)+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
n=1;
|
||||
while(q->next()) {
|
||||
@ -140,13 +156,16 @@ VGuest::VGuest(RDMatrix *matrix,QObject *parent)
|
||||
//
|
||||
// Load Engine Data - Displays
|
||||
//
|
||||
sql=
|
||||
QString().sprintf("select NUMBER,ENGINE_NUM,DEVICE_NUM,SURFACE_NUM\
|
||||
from VGUEST_RESOURCES where\
|
||||
(STATION_NAME=\"%s\")&&(MATRIX_NUM=%d)&&\
|
||||
(VGUEST_TYPE=%d) order by NUMBER",
|
||||
(const char *)matrix->station(),matrix->matrix(),
|
||||
RDMatrix::VguestTypeDisplay);
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM,"+ // 02
|
||||
"SURFACE_NUM "+ // 03
|
||||
"from VGUEST_RESOURCES where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(matrix->station())+"\")&&"+
|
||||
QString().sprintf("(MATRIX_NUM=%d)&&",matrix->matrix())+
|
||||
QString().sprintf("(VGUEST_TYPE=%d) ",RDMatrix::VguestTypeDisplay)+
|
||||
"order by NUMBER";
|
||||
q=new RDSqlQuery(sql);
|
||||
n=1;
|
||||
while(q->next()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user