mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-26 23:13:00 +02:00
adzap: write adzap.data in monitor-mode too
Origin commit data
------------------
Commit: 8a522e891d
Author: vanhofen <vanhofen@gmx.de>
Date: 2016-03-10 (Thu, 10 Mar 2016)
Origin message was:
------------------
- adzap: write adzap.data in monitor-mode too
This commit is contained in:
@@ -105,7 +105,6 @@ time_t CAdZapMenu::getMonitorLifeTime()
|
||||
return 0;
|
||||
|
||||
CChannelEventList::iterator eli;
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
for (eli = evtlist.begin(); eli != evtlist.end(); ++eli)
|
||||
{
|
||||
@@ -139,7 +138,6 @@ void CAdZapMenu::Run()
|
||||
|
||||
if (monitor)
|
||||
{
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
ts.tv_sec += 1;
|
||||
|
||||
@@ -173,42 +171,19 @@ void CAdZapMenu::Run()
|
||||
{
|
||||
if (g_settings.adzap_writeData)
|
||||
{
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
ts.tv_sec += 1;
|
||||
|
||||
sem_timedwait(&sem, &ts);
|
||||
|
||||
int zp = g_settings.adzap_zapBackPeriod;
|
||||
long int zb = zapBackTime.tv_sec + ZAPBACK_ALERT_PERIOD - ts.tv_sec;
|
||||
|
||||
if (FILE *f = fopen(ADZAP_DATA, "w"))
|
||||
{
|
||||
fprintf(f, "%" PRIx64 "\n%s\n%d\n%d:%02d\n%ld\n%ld:%02ld\n",
|
||||
channelId,
|
||||
channelName.c_str(),
|
||||
zp,
|
||||
zp / 60, zp % 60,
|
||||
zb,
|
||||
zb / 60, zb % 60);
|
||||
fclose(f);
|
||||
}
|
||||
else
|
||||
printf("CAdZapMenu::%s: write data failed.\n", __func__);
|
||||
}
|
||||
else
|
||||
sem_timedwait(&sem, &zapBackTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (access(ADZAP_DATA, F_OK) == 0)
|
||||
unlink(ADZAP_DATA);
|
||||
sem_wait(&sem);
|
||||
}
|
||||
|
||||
if (armed)
|
||||
{
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
if (ts.tv_sec >= zapBackTime.tv_sec)
|
||||
{
|
||||
@@ -237,9 +212,40 @@ void CAdZapMenu::Run()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_settings.adzap_writeData && (monitor || armed))
|
||||
WriteData();
|
||||
else
|
||||
RemoveData();
|
||||
}
|
||||
}
|
||||
|
||||
void CAdZapMenu::WriteData()
|
||||
{
|
||||
int zp = g_settings.adzap_zapBackPeriod;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
long int zb = armed ? zapBackTime.tv_sec + ZAPBACK_ALERT_PERIOD - ts.tv_sec : 0;
|
||||
|
||||
if (FILE *f = fopen(ADZAP_DATA, "w"))
|
||||
{
|
||||
fprintf(f, "%" PRIx64 "\n%s\n%d\n%d:%02d\n%ld\n%ld:%02ld\n",
|
||||
channelId,
|
||||
channelName.c_str(),
|
||||
zp,
|
||||
zp / 60, zp % 60,
|
||||
zb,
|
||||
zb / 60, zb % 60);
|
||||
fclose(f);
|
||||
}
|
||||
else
|
||||
printf("CAdZapMenu::%s: failed.\n", __func__);
|
||||
}
|
||||
|
||||
void CAdZapMenu::RemoveData()
|
||||
{
|
||||
if (access(ADZAP_DATA, F_OK) == 0)
|
||||
unlink(ADZAP_DATA);
|
||||
}
|
||||
int CAdZapMenu::exec(CMenuTarget *parent, const std::string & actionKey)
|
||||
{
|
||||
Init();
|
||||
|
@@ -40,6 +40,7 @@ class CAdZapMenu: public CMenuTarget, CChangeObserver
|
||||
bool armed;
|
||||
bool alerted;
|
||||
bool monitor;
|
||||
struct timespec ts;
|
||||
struct timespec zapBackTime;
|
||||
std::string channelName;
|
||||
CMenuForwarder *forwarders[9];
|
||||
@@ -54,6 +55,8 @@ class CAdZapMenu: public CMenuTarget, CChangeObserver
|
||||
void ShowMenu();
|
||||
void Update();
|
||||
void Run(void);
|
||||
void WriteData(void);
|
||||
void RemoveData(void);
|
||||
static void *Run(void *arg);
|
||||
public:
|
||||
static CAdZapMenu *getInstance();
|
||||
|
Reference in New Issue
Block a user