2018-01-30 Fred Gleason <fredg@paravelsystems.com>

* Added an 'RDApplication'class.
	* Converted rdlibrary(1) to use RDApplication.
This commit is contained in:
Fred Gleason
2018-01-30 03:57:04 -05:00
parent 4d061877fd
commit f692a3ac0d
42 changed files with 633 additions and 326 deletions

View File

@@ -2,7 +2,7 @@
//
// Abstract an RDLibrary Configuration.
//
// (C) Copyright 2002-2003,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2003,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
@@ -26,28 +26,23 @@
//
// Global Classes
//
RDLibraryConf::RDLibraryConf(const QString &station,unsigned instance)
RDLibraryConf::RDLibraryConf(const QString &station)
{
RDSqlQuery *q;
QString sql;
lib_station=station;
lib_instance=instance;
sql=QString().sprintf("select ID from RDLIBRARY where STATION=\"%s\" && INSTANCE=%d",
(const char *)lib_station,
lib_instance);
sql=QString("select ID from RDLIBRARY where ")+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
if(!q->first()) {
delete q;
sql=QString().sprintf("insert into RDLIBRARY set STATION=\"%s\",INSTANCE=%d",
(const char *)lib_station,
lib_instance);
sql=QString("insert into RDLIBRARY set ")+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
delete q;
sql=QString().sprintf("select ID from RDLIBRARY where STATION=\"%s\" && INSTANCE=%d",
(const char *)lib_station,
lib_instance);
sql=QString("select LAST_INSERT_ID() from RDLIBRARY");
q=new RDSqlQuery(sql);
q->first();
}
@@ -62,12 +57,6 @@ QString RDLibraryConf::station() const
}
unsigned RDLibraryConf::instance() const
{
return lib_instance;
}
int RDLibraryConf::inputCard() const
{
return RDGetSqlValue("RDLIBRARY","ID",lib_id,"INPUT_CARD").toInt();
@@ -355,11 +344,15 @@ void RDLibraryConf::getSettings(RDSettings *s) const
QString sql;
RDSqlQuery *q;
sql=QString().sprintf("select DEFAULT_CHANNELS,DEFAULT_SAMPRATE,\
DEFAULT_FORMAT,DEFAULT_BITRATE,RIPPER_LEVEL,\
TRIM_THRESHOLD from RDLIBRARY \
where STATION=\"%s\" && INSTANCE=%d",
(const char *)lib_station,lib_instance);
sql=QString("select ")+
"DEFAULT_CHANNELS,"+ // 00
"DEFAULT_SAMPRATE,"+ // 01
"DEFAULT_FORMAT,"+ // 02
"DEFAULT_BITRATE,"+ // 03
"RIPPER_LEVEL,"+ // 04
"TRIM_THRESHOLD "+ // 05
"from RDLIBRARY where "+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
s->clear();
if(q->first()) {
@@ -387,11 +380,9 @@ void RDLibraryConf::SetRow(const QString &param,int value) const
RDSqlQuery *q;
QString sql;
sql=QString().sprintf("UPDATE RDLIBRARY SET %s=%d WHERE STATION=\"%s\" && INSTANCE=%d",
(const char *)param,
value,
(const char *)lib_station,
lib_instance);
sql=QString("update RDLIBRARY set ")+
param+QString().sprintf("=%d where ",value)+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
delete q;
}
@@ -402,11 +393,9 @@ void RDLibraryConf::SetRow(const QString &param,unsigned value) const
RDSqlQuery *q;
QString sql;
sql=QString().sprintf("UPDATE RDLIBRARY SET %s=%d WHERE STATION=\"%s\" && INSTANCE=%d",
(const char *)param,
value,
(const char *)lib_station,
lib_instance);
sql=QString("update RDLIBRARY set ")+
param+QString().sprintf("=%u where ",value)+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
delete q;
}
@@ -417,11 +406,9 @@ void RDLibraryConf::SetRow(const QString &param,const QString &value) const
RDSqlQuery *q;
QString sql;
sql=QString().sprintf("UPDATE RDLIBRARY SET %s=\"%s\" WHERE STATION=\"%s\" && INSTANCE=%d",
(const char *)param,
(const char *)RDEscapeString(value),
(const char *)lib_station,
lib_instance);
sql=QString("update RDLIBRARY set ")+
param+"=\""+RDEscapeString(value)+"\" where "+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
delete q;
}