vdr 2.8.4
eitscan.h
Go to the documentation of this file.
1/*
2 * eitscan.h: EIT scanner
3 *
4 * See the main source file 'vdr.c' for copyright information and
5 * how to reach the author.
6 *
7 * $Id: eitscan.h 5.1 2024/07/06 11:19:21 kls Exp $
8 */
9
10#ifndef __EITSCAN_H
11#define __EITSCAN_H
12
13#include <atomic>
14#include <time.h>
15#include "channels.h"
16#include "config.h"
17#include "device.h"
18
19class cScanList;
21
23private:
24 enum { ActivityTimeout = 60,
26 };
27 bool paused;
28 time_t lastScan;
29 std::atomic<time_t> lastActivity; // cleared by ForceScan() from the SVDRP thread, read by Active() in the main loop
33public:
34 cEITScanner(void);
36 bool Active(void) { return currentChannel || lastActivity == 0; }
37 void AddTransponder(cChannel *Channel);
38 void ForceScan(void);
39 void Activity(void);
40 void Process(void);
41 };
42
44
45#endif //__EITSCAN_H
bool Active(void)
Definition eitscan.h:36
std::atomic< time_t > lastActivity
Definition eitscan.h:29
@ ScanTimeout
Definition eitscan.h:25
@ ActivityTimeout
Definition eitscan.h:24
int currentChannel
Definition eitscan.h:30
cEITScanner(void)
Definition eitscan.c:106
void AddTransponder(cChannel *Channel)
Definition eitscan.c:122
bool paused
Definition eitscan.h:27
void ForceScan(void)
Definition eitscan.c:129
void Process(void)
Definition eitscan.c:144
cScanList * scanList
Definition eitscan.h:31
cTransponderList * transponderList
Definition eitscan.h:32
void Activity(void)
Definition eitscan.c:134
time_t lastScan
Definition eitscan.h:28
cEITScanner EITScanner
Definition eitscan.c:104