mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-21 07:13:06 +02:00
2022-10-30 Fred Gleason <fredg@paravelsystems.com>
* Reimplemented the 'PurgeEvent' command using 'RDCatchEvent'. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
d65517215b
commit
de49ba6cd9
@ -1 +0,0 @@
|
|||||||
fredg@frozone.paravelsystems.com.26763:1666465399
|
|
@ -23572,3 +23572,5 @@
|
|||||||
2022-10-30 Fred Gleason <fredg@paravelsystems.com>
|
2022-10-30 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Reimplemented the 'Request Deck Status' command using
|
* Reimplemented the 'Request Deck Status' command using
|
||||||
'RDCatchEvent'.
|
'RDCatchEvent'.
|
||||||
|
2022-10-30 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Reimplemented the 'PurgeEvent' command using 'RDCatchEvent'.
|
||||||
|
@ -576,8 +576,42 @@
|
|||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 xml:id="sect.rdcatch_purge_event">
|
||||||
|
<title>Purge Event Operation</title>
|
||||||
|
<para>
|
||||||
|
Emitted by <command>rdcatch</command><manvolnum>1</manvolnum> to
|
||||||
|
report purging of a one-shot event.
|
||||||
|
</para>
|
||||||
|
<table xml:id="table.rdcatch_purge_event" frame="all" pgwide="0">
|
||||||
|
<title>RDCatch Event Request Fields</title>
|
||||||
|
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||||||
|
<colspec colname="Field" colwidth="2.0*"/>
|
||||||
|
<colspec colname="Value" colwidth="2.0*"/>
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>Field</entry>
|
||||||
|
<entry>Value</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>Hostname</entry>
|
||||||
|
<entry>String, from STATIONS.NAME</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>Operation</entry>
|
||||||
|
<entry>Integer. 4 [RDCatchEvent::PurgeEventOp]</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>Event ID</entry>
|
||||||
|
<entry>
|
||||||
|
Unsigned Integer, from RECORDINGS.ID.
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
@ -318,14 +318,14 @@ void RDCatchConnect::DispatchCommand()
|
|||||||
}
|
}
|
||||||
emit eventUpdated(id);
|
emit eventUpdated(id);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if(!strcmp(args[0],"PE")) { // Purge Event
|
if(!strcmp(args[0],"PE")) { // Purge Event
|
||||||
if(sscanf(args[1],"%d",&id)!=1) {
|
if(sscanf(args[1],"%d",&id)!=1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
emit eventPurged(id);
|
emit eventPurged(id);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
if(!strcmp(args[0],"HB")) { // Heartbeat
|
if(!strcmp(args[0],"HB")) { // Heartbeat
|
||||||
cc_heartbeat_timer->stop();
|
cc_heartbeat_timer->stop();
|
||||||
cc_heartbeat_timer->start(CC_HEARTBEAT_INTERVAL);
|
cc_heartbeat_timer->start(CC_HEARTBEAT_INTERVAL);
|
||||||
|
@ -141,6 +141,8 @@ bool RDCatchEvent::isValid() const
|
|||||||
|
|
||||||
bool RDCatchEvent::read(const QString &str)
|
bool RDCatchEvent::read(const QString &str)
|
||||||
{
|
{
|
||||||
|
printf("RDCatchEvent::read(\"%s\")\n",str.toUtf8().constData());
|
||||||
|
|
||||||
RDCatchEvent::Operation op=RDCatchEvent::NullOp;
|
RDCatchEvent::Operation op=RDCatchEvent::NullOp;
|
||||||
QStringList f0=str.split(" ");
|
QStringList f0=str.split(" ");
|
||||||
bool ok=false;
|
bool ok=false;
|
||||||
@ -214,6 +216,19 @@ bool RDCatchEvent::read(const QString &str)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(ok&&(op==RDCatchEvent::PurgeEventOp)) {
|
||||||
|
if(f0.size()!=4) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
unsigned id=f0.at(3).toUInt(&ok);
|
||||||
|
if(ok) {
|
||||||
|
d_operation=op;
|
||||||
|
d_host_name=f0.at(1);
|
||||||
|
d_event_id=id;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,6 +261,10 @@ QString RDCatchEvent::write() const
|
|||||||
ret+=QString::asprintf(" %d",d_cut_number);
|
ret+=QString::asprintf(" %d",d_cut_number);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RDCatchEvent::PurgeEventOp:
|
||||||
|
ret+=QString::asprintf(" %u",d_event_id);
|
||||||
|
break;
|
||||||
|
|
||||||
case RDCatchEvent::DeckStatusQueryOp:
|
case RDCatchEvent::DeckStatusQueryOp:
|
||||||
case RDCatchEvent::NullOp:
|
case RDCatchEvent::NullOp:
|
||||||
case RDCatchEvent::LastOp:
|
case RDCatchEvent::LastOp:
|
||||||
@ -288,6 +307,11 @@ QString RDCatchEvent::dump() const
|
|||||||
ret+=QString::asprintf("cut number: %d\n",d_cut_number);
|
ret+=QString::asprintf("cut number: %d\n",d_cut_number);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RDCatchEvent::PurgeEventOp:
|
||||||
|
ret+="operation: RDCatchEvent::PurgeEventOpOp\n";
|
||||||
|
ret+=QString::asprintf("event id: %u\n",d_event_id);
|
||||||
|
break;
|
||||||
|
|
||||||
case RDCatchEvent::NullOp:
|
case RDCatchEvent::NullOp:
|
||||||
case RDCatchEvent::LastOp:
|
case RDCatchEvent::LastOp:
|
||||||
break;
|
break;
|
||||||
|
@ -31,7 +31,7 @@ class RDCatchEvent
|
|||||||
public:
|
public:
|
||||||
enum Operation {NullOp=0,DeckEventProcessedOp=1,
|
enum Operation {NullOp=0,DeckEventProcessedOp=1,
|
||||||
DeckStatusQueryOp=2,DeckStatusResponseOp=3,
|
DeckStatusQueryOp=2,DeckStatusResponseOp=3,
|
||||||
LastOp=4};
|
PurgeEventOp=4,LastOp=5};
|
||||||
RDCatchEvent(RDDeck::Status status);
|
RDCatchEvent(RDDeck::Status status);
|
||||||
RDCatchEvent();
|
RDCatchEvent();
|
||||||
Operation operation() const;
|
Operation operation() const;
|
||||||
|
@ -208,9 +208,11 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent)
|
|||||||
connect(catch_connect.back()->connector(),
|
connect(catch_connect.back()->connector(),
|
||||||
SIGNAL(eventUpdated(int)),
|
SIGNAL(eventUpdated(int)),
|
||||||
this,SLOT(eventUpdatedData(int)));
|
this,SLOT(eventUpdatedData(int)));
|
||||||
|
/*
|
||||||
connect(catch_connect.back()->connector(),
|
connect(catch_connect.back()->connector(),
|
||||||
SIGNAL(eventPurged(int)),
|
SIGNAL(eventPurged(int)),
|
||||||
this,SLOT(eventPurgedData(int)));
|
this,SLOT(eventPurgedData(int)));
|
||||||
|
*/
|
||||||
/*
|
/*
|
||||||
connect(catch_connect.back()->connector(),
|
connect(catch_connect.back()->connector(),
|
||||||
SIGNAL(deckEventSent(int,int,int)),
|
SIGNAL(deckEventSent(int,int,int)),
|
||||||
@ -799,6 +801,20 @@ void MainWidget::catchEventReceivedData(RDCatchEvent *evt)
|
|||||||
{
|
{
|
||||||
printf("catchEventReceivedData()\n");
|
printf("catchEventReceivedData()\n");
|
||||||
printf("%s\n",evt->dump().toUtf8().constData());
|
printf("%s\n",evt->dump().toUtf8().constData());
|
||||||
|
|
||||||
|
switch(evt->operation()) {
|
||||||
|
case RDCatchEvent::PurgeEventOp:
|
||||||
|
catch_recordings_model->removeRecord(evt->eventId());
|
||||||
|
printf("removed event %u\n",evt->eventId());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RDCatchEvent::DeckEventProcessedOp:
|
||||||
|
case RDCatchEvent::DeckStatusQueryOp:
|
||||||
|
case RDCatchEvent::DeckStatusResponseOp:
|
||||||
|
case RDCatchEvent::NullOp:
|
||||||
|
case RDCatchEvent::LastOp:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1012,12 +1028,12 @@ void MainWidget::eventUpdatedData(int id)
|
|||||||
nextEventData();
|
nextEventData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
void MainWidget::eventPurgedData(int id)
|
void MainWidget::eventPurgedData(int id)
|
||||||
{
|
{
|
||||||
catch_recordings_model->removeRecord(id);
|
catch_recordings_model->removeRecord(id);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
void MainWidget::heartbeatFailedData(int id)
|
void MainWidget::heartbeatFailedData(int id)
|
||||||
{
|
{
|
||||||
|
@ -103,7 +103,7 @@ class MainWidget : public RDMainWindow
|
|||||||
void clockData();
|
void clockData();
|
||||||
void midnightData();
|
void midnightData();
|
||||||
void eventUpdatedData(int id);
|
void eventUpdatedData(int id);
|
||||||
void eventPurgedData(int id);
|
// void eventPurgedData(int id);
|
||||||
void heartbeatFailedData(int id);
|
void heartbeatFailedData(int id);
|
||||||
void quitMainWidget();
|
void quitMainWidget();
|
||||||
|
|
||||||
|
@ -2436,9 +2436,14 @@ void MainObject::PurgeEvent(int event)
|
|||||||
{
|
{
|
||||||
QString sql=QString::asprintf("delete from `RECORDINGS` where `ID`=%d",
|
QString sql=QString::asprintf("delete from `RECORDINGS` where `ID`=%d",
|
||||||
catch_events[event].id());
|
catch_events[event].id());
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery::apply(sql);
|
||||||
delete q;
|
|
||||||
BroadcastCommand(QString::asprintf("PE %d!",catch_events[event].id()));
|
RDCatchEvent *evt=new RDCatchEvent();
|
||||||
|
evt->setOperation(RDCatchEvent::PurgeEventOp);
|
||||||
|
evt->setEventId(catch_events[event].id());
|
||||||
|
rda->ripc()->sendCatchEvent(evt);
|
||||||
|
delete evt;
|
||||||
|
|
||||||
switch(catch_events[event].type()) {
|
switch(catch_events[event].type()) {
|
||||||
case RDRecording::Recording:
|
case RDRecording::Recording:
|
||||||
rda->syslog(LOG_INFO,"purged event %d, Type: recording, Cut: %s",
|
rda->syslog(LOG_INFO,"purged event %d, Type: recording, Cut: %s",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user