mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-08-16 08:34:12 +02:00
2018-12-12 Fred Gleason <fredg@paravelsystems.com>
* Renamed rdrlmd(8) to rdpadd(8).
This commit is contained in:
parent
7d2ec28205
commit
24e408810e
2
.gitignore
vendored
2
.gitignore
vendored
@ -82,10 +82,10 @@ rdlogedit/rdlogedit
|
||||
rdlogin/rdlogin
|
||||
rdlogmanager/rdlogmanager
|
||||
rdmonitor/rdmonitor
|
||||
rdpadd/rdpadd
|
||||
rdpanel/rdpanel
|
||||
rdrepld/rdrepld
|
||||
rdrepld-suse
|
||||
rdrlmd/rdrlmd
|
||||
rdselect/rdselect
|
||||
rdservice/rdservice
|
||||
rdvairplayd/rdvairplayd
|
||||
|
@ -18176,3 +18176,5 @@
|
||||
* Updated the PyPAD classes and scripts to use Python 3.
|
||||
2018-12-12 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Documented the Python 3.4 dependency in 'INSTALL'.
|
||||
2018-12-12 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Renamed rdrlmd(8) to rdpadd(8).
|
||||
|
@ -50,7 +50,7 @@ SUBDIRS = icons\
|
||||
rdmonitor\
|
||||
rdpanel\
|
||||
rdrepld\
|
||||
rdrlmd\
|
||||
rdpadd\
|
||||
rdselect\
|
||||
rdservice\
|
||||
rdvairplayd\
|
||||
|
@ -517,7 +517,7 @@ AC_CONFIG_FILES([rivendell.spec \
|
||||
rdmonitor/Makefile \
|
||||
rdpanel/Makefile \
|
||||
rdrepld/Makefile \
|
||||
rdrlmd/Makefile \
|
||||
rdpadd/Makefile \
|
||||
rdselect/Makefile \
|
||||
rdservice/Makefile \
|
||||
rdvairplayd/Makefile \
|
||||
|
@ -1,6 +1,6 @@
|
||||
## Makefile.am
|
||||
##
|
||||
## Rivendell RLM Consolidation Server
|
||||
## Rivendell PAD Consolidation Server
|
||||
##
|
||||
## (C) Copyright 2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
##
|
||||
@ -29,13 +29,13 @@ moc_%.cpp: %.h
|
||||
$(MOC) $< -o $@
|
||||
|
||||
|
||||
sbin_PROGRAMS = rdrlmd
|
||||
sbin_PROGRAMS = rdpadd
|
||||
|
||||
dist_rdrlmd_SOURCES = rdrlmd.cpp rdrlmd.h
|
||||
dist_rdpadd_SOURCES = rdpadd.cpp rdpadd.h
|
||||
|
||||
nodist_rdrlmd_SOURCES = moc_rdrlmd.cpp
|
||||
nodist_rdpadd_SOURCES = moc_rdpadd.cpp
|
||||
|
||||
rdrlmd_LDADD = @LIB_RDLIBS@ @LIBVORBIS@ @QT4_LIBS@ -lQt3Support
|
||||
rdpadd_LDADD = @LIB_RDLIBS@ @LIBVORBIS@ @QT4_LIBS@ -lQt3Support
|
||||
|
||||
CLEANFILES = *~\
|
||||
*.idb\
|
@ -1,6 +1,6 @@
|
||||
// rdrlmd.cpp
|
||||
// rdpadd.cpp
|
||||
//
|
||||
// Rivendell RLM Consolidation Server
|
||||
// Rivendell PAD Consolidation Server
|
||||
//
|
||||
// (C) Copyright 2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
@ -27,7 +27,7 @@
|
||||
#include <rd.h>
|
||||
#include <rdcmd_switch.h>
|
||||
|
||||
#include "rdrlmd.h"
|
||||
#include "rdpadd.h"
|
||||
|
||||
MetadataSource::MetadataSource(QTcpSocket *sock)
|
||||
{
|
||||
@ -73,20 +73,20 @@ QTcpSocket *MetadataSource::socket() const
|
||||
MainObject::MainObject(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
new RDCmdSwitch(qApp->argc(),qApp->argv(),"rdrlmd",RDRLMD_USAGE);
|
||||
new RDCmdSwitch(qApp->argc(),qApp->argv(),"rdpadd",RDPADD_USAGE);
|
||||
|
||||
//
|
||||
// Client Server
|
||||
//
|
||||
rlm_client_disconnect_mapper=new QSignalMapper(this);
|
||||
connect(rlm_client_disconnect_mapper,SIGNAL(mapped(int)),
|
||||
pad_client_disconnect_mapper=new QSignalMapper(this);
|
||||
connect(pad_client_disconnect_mapper,SIGNAL(mapped(int)),
|
||||
this,SLOT(clientDisconnected(int)));
|
||||
|
||||
rlm_client_server=new QTcpServer(this);
|
||||
connect(rlm_client_server,SIGNAL(newConnection()),
|
||||
pad_client_server=new QTcpServer(this);
|
||||
connect(pad_client_server,SIGNAL(newConnection()),
|
||||
this,SLOT(newClientConnectionData()));
|
||||
if(!rlm_client_server->listen(QHostAddress::Any,RD_RLM2_CLIENT_TCP_PORT)) {
|
||||
fprintf(stderr,"rdrlmd: unable to bind client port %d\n",
|
||||
if(!pad_client_server->listen(QHostAddress::Any,RD_RLM2_CLIENT_TCP_PORT)) {
|
||||
fprintf(stderr,"rdpadd: unable to bind client port %d\n",
|
||||
RD_RLM2_CLIENT_TCP_PORT);
|
||||
exit(1);
|
||||
}
|
||||
@ -94,20 +94,20 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Source Server
|
||||
//
|
||||
rlm_source_ready_mapper=new QSignalMapper(this);
|
||||
connect(rlm_source_ready_mapper,SIGNAL(mapped(int)),
|
||||
pad_source_ready_mapper=new QSignalMapper(this);
|
||||
connect(pad_source_ready_mapper,SIGNAL(mapped(int)),
|
||||
this,SLOT(sourceReadyReadData(int)));
|
||||
|
||||
rlm_source_disconnect_mapper=new QSignalMapper(this);
|
||||
connect(rlm_source_disconnect_mapper,SIGNAL(mapped(int)),
|
||||
pad_source_disconnect_mapper=new QSignalMapper(this);
|
||||
connect(pad_source_disconnect_mapper,SIGNAL(mapped(int)),
|
||||
this,SLOT(sourceDisconnected(int)));
|
||||
|
||||
rlm_source_server=new RDUnixServer(this);
|
||||
connect(rlm_source_server,SIGNAL(newConnection()),
|
||||
pad_source_server=new RDUnixServer(this);
|
||||
connect(pad_source_server,SIGNAL(newConnection()),
|
||||
this,SLOT(newSourceConnectionData()));
|
||||
if(!rlm_source_server->listenToAbstract(RD_RLM2_SOURCE_UNIX_ADDRESS)) {
|
||||
fprintf(stderr,"rdrlmd: unable to bind source socket [%s]\n",
|
||||
(const char *)rlm_source_server->errorString().toUtf8());
|
||||
if(!pad_source_server->listenToAbstract(RD_RLM2_SOURCE_UNIX_ADDRESS)) {
|
||||
fprintf(stderr,"rdpadd: unable to bind source socket [%s]\n",
|
||||
(const char *)pad_source_server->errorString().toUtf8());
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@ -115,10 +115,10 @@ MainObject::MainObject(QObject *parent)
|
||||
|
||||
void MainObject::newClientConnectionData()
|
||||
{
|
||||
QTcpSocket *sock=rlm_client_server->nextPendingConnection();
|
||||
connect(sock,SIGNAL(disconnected()),rlm_client_disconnect_mapper,SLOT(map()));
|
||||
rlm_client_disconnect_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
rlm_client_sockets[sock->socketDescriptor()]=sock;
|
||||
QTcpSocket *sock=pad_client_server->nextPendingConnection();
|
||||
connect(sock,SIGNAL(disconnected()),pad_client_disconnect_mapper,SLOT(map()));
|
||||
pad_client_disconnect_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
pad_client_sockets[sock->socketDescriptor()]=sock;
|
||||
|
||||
SendState(sock->socketDescriptor());
|
||||
// printf("client connection %d opened\n",sock->socketDescriptor());
|
||||
@ -129,9 +129,9 @@ void MainObject::clientDisconnected(int id)
|
||||
{
|
||||
QTcpSocket *sock=NULL;
|
||||
|
||||
if((sock=rlm_client_sockets.value(id))!=NULL) {
|
||||
if((sock=pad_client_sockets.value(id))!=NULL) {
|
||||
sock->deleteLater();
|
||||
rlm_client_sockets.remove(id);
|
||||
pad_client_sockets.remove(id);
|
||||
// printf("client connection %d closed\n",id);
|
||||
}
|
||||
else {
|
||||
@ -142,19 +142,19 @@ void MainObject::clientDisconnected(int id)
|
||||
|
||||
void MainObject::newSourceConnectionData()
|
||||
{
|
||||
QTcpSocket *sock=rlm_source_server->nextPendingConnection();
|
||||
QTcpSocket *sock=pad_source_server->nextPendingConnection();
|
||||
if(sock==NULL) {
|
||||
fprintf(stderr,"rdrlmd: UNIX socket error [%s]\n",
|
||||
(const char *)rlm_source_server->errorString().toUtf8());
|
||||
fprintf(stderr,"rdpadd: UNIX socket error [%s]\n",
|
||||
(const char *)pad_source_server->errorString().toUtf8());
|
||||
exit(1);
|
||||
}
|
||||
connect(sock,SIGNAL(readyRead()),rlm_source_ready_mapper,SLOT(map()));
|
||||
rlm_source_ready_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
connect(sock,SIGNAL(readyRead()),pad_source_ready_mapper,SLOT(map()));
|
||||
pad_source_ready_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
|
||||
connect(sock,SIGNAL(disconnected()),rlm_source_disconnect_mapper,SLOT(map()));
|
||||
rlm_source_disconnect_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
connect(sock,SIGNAL(disconnected()),pad_source_disconnect_mapper,SLOT(map()));
|
||||
pad_source_disconnect_mapper->setMapping(sock,sock->socketDescriptor());
|
||||
|
||||
rlm_sources[sock->socketDescriptor()]=new MetadataSource(sock);
|
||||
pad_sources[sock->socketDescriptor()]=new MetadataSource(sock);
|
||||
|
||||
// printf("source connection %d opened\n",sock->socketDescriptor());
|
||||
}
|
||||
@ -162,11 +162,11 @@ void MainObject::newSourceConnectionData()
|
||||
|
||||
void MainObject::sourceReadyReadData(int id)
|
||||
{
|
||||
if(rlm_sources[id]!=NULL) {
|
||||
if(rlm_sources[id]->appendBuffer(rlm_sources[id]->socket()->readAll())) {
|
||||
for(QMap<int,QTcpSocket *>::const_iterator it=rlm_client_sockets.begin();
|
||||
it!=rlm_client_sockets.end();it++) {
|
||||
it.value()->write(rlm_sources[id]->buffer());
|
||||
if(pad_sources[id]!=NULL) {
|
||||
if(pad_sources[id]->appendBuffer(pad_sources[id]->socket()->readAll())) {
|
||||
for(QMap<int,QTcpSocket *>::const_iterator it=pad_client_sockets.begin();
|
||||
it!=pad_client_sockets.end();it++) {
|
||||
it.value()->write(pad_sources[id]->buffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -175,10 +175,10 @@ void MainObject::sourceReadyReadData(int id)
|
||||
|
||||
void MainObject::sourceDisconnected(int id)
|
||||
{
|
||||
if(rlm_sources.value(id)!=NULL) {
|
||||
rlm_sources.value(id)->socket()->deleteLater();
|
||||
delete rlm_sources.value(id);
|
||||
rlm_sources.remove(id);
|
||||
if(pad_sources.value(id)!=NULL) {
|
||||
pad_sources.value(id)->socket()->deleteLater();
|
||||
delete pad_sources.value(id);
|
||||
pad_sources.remove(id);
|
||||
// printf("source connection %d closed\n",id);
|
||||
}
|
||||
else {
|
||||
@ -189,10 +189,10 @@ void MainObject::sourceDisconnected(int id)
|
||||
|
||||
void MainObject::SendState(int id)
|
||||
{
|
||||
for(QMap<int,MetadataSource *>::const_iterator it=rlm_sources.begin();
|
||||
it!=rlm_sources.end();it++) {
|
||||
for(QMap<int,MetadataSource *>::const_iterator it=pad_sources.begin();
|
||||
it!=pad_sources.end();it++) {
|
||||
if(it.value()->isCommitted()) {
|
||||
rlm_client_sockets.value(id)->write(it.value()->buffer());
|
||||
pad_client_sockets.value(id)->write(it.value()->buffer());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
// rdrlmd.h
|
||||
// rdpadd.h
|
||||
//
|
||||
// Rivendell RLM Consolidation Server
|
||||
// Rivendell PAD Consolidation Server
|
||||
//
|
||||
// (C) Copyright 2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
@ -18,8 +18,8 @@
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef RDRLMD_H
|
||||
#define RDRLMD_H
|
||||
#ifndef RDPADD_H
|
||||
#define RDPADD_H
|
||||
|
||||
#include <qmap.h>
|
||||
#include <qobject.h>
|
||||
@ -29,7 +29,7 @@
|
||||
|
||||
#include <rdunixserver.h>
|
||||
|
||||
#define RDRLMD_USAGE "\n\n"
|
||||
#define RDPADD_USAGE "\n\n"
|
||||
|
||||
class MetadataSource
|
||||
{
|
||||
@ -64,15 +64,15 @@ class MainObject : public QObject
|
||||
|
||||
private:
|
||||
void SendState(int id);
|
||||
QSignalMapper *rlm_client_disconnect_mapper;
|
||||
QTcpServer *rlm_client_server;
|
||||
QMap<int,QTcpSocket *> rlm_client_sockets;
|
||||
QSignalMapper *pad_client_disconnect_mapper;
|
||||
QTcpServer *pad_client_server;
|
||||
QMap<int,QTcpSocket *> pad_client_sockets;
|
||||
|
||||
QSignalMapper *rlm_source_ready_mapper;
|
||||
QSignalMapper *rlm_source_disconnect_mapper;
|
||||
RDUnixServer *rlm_source_server;
|
||||
QMap<int,MetadataSource *> rlm_sources;
|
||||
QSignalMapper *pad_source_ready_mapper;
|
||||
QSignalMapper *pad_source_disconnect_mapper;
|
||||
RDUnixServer *pad_source_server;
|
||||
QMap<int,MetadataSource *> pad_sources;
|
||||
};
|
||||
|
||||
|
||||
#endif // RDRLMD_H
|
||||
#endif // RDPADD_H
|
@ -31,7 +31,7 @@
|
||||
#define RDSERVICE_CAED_ID 0
|
||||
#define RDSERVICE_RIPCD_ID 1
|
||||
#define RDSERVICE_RDCATCHD_ID 2
|
||||
#define RDSERVICE_RDRLMD_ID 3
|
||||
#define RDSERVICE_RDPADD_ID 3
|
||||
#define RDSERVICE_RDVAIRPLAYD_ID 4
|
||||
#define RDSERVICE_RDREPLD_ID 5
|
||||
#define RDSERVICE_LOCALMAINT_ID 6
|
||||
|
@ -41,7 +41,7 @@ bool MainObject::Startup(QString *err_msg)
|
||||
//
|
||||
KillProgram("rdrepld");
|
||||
KillProgram("rdvairplayd");
|
||||
KillProgram("rdrlmd");
|
||||
KillProgram("rdpadd");
|
||||
KillProgram("rdcatchd");
|
||||
KillProgram("ripcd");
|
||||
KillProgram("caed");
|
||||
@ -85,15 +85,15 @@ bool MainObject::Startup(QString *err_msg)
|
||||
}
|
||||
|
||||
//
|
||||
// rdrlmd(8)
|
||||
// rdpadd(8)
|
||||
//
|
||||
svc_processes[RDSERVICE_RDRLMD_ID]=new Process(RDSERVICE_RDRLMD_ID,this);
|
||||
svc_processes[RDSERVICE_RDPADD_ID]=new Process(RDSERVICE_RDPADD_ID,this);
|
||||
args.clear();
|
||||
svc_processes[RDSERVICE_RDRLMD_ID]->
|
||||
start(QString(RD_PREFIX)+"/sbin/rdrlmd",args);
|
||||
if(!svc_processes[RDSERVICE_RDRLMD_ID]->process()->waitForStarted(-1)) {
|
||||
*err_msg=tr("unable to start rdrlmd(8)")+": "+
|
||||
svc_processes[RDSERVICE_RDRLMD_ID]->errorText();
|
||||
svc_processes[RDSERVICE_RDPADD_ID]->
|
||||
start(QString(RD_PREFIX)+"/sbin/rdpadd",args);
|
||||
if(!svc_processes[RDSERVICE_RDPADD_ID]->process()->waitForStarted(-1)) {
|
||||
*err_msg=tr("unable to start rdpadd(8)")+": "+
|
||||
svc_processes[RDSERVICE_RDPADD_ID]->errorText();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user