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
19
class
cScanList
;
20
class
cTransponderList
;
21
22
class
cEITScanner
{
23
private
:
24
enum
{
ActivityTimeout
= 60,
25
ScanTimeout
= 20
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
30
int
currentChannel
;
31
cScanList
*
scanList
;
32
cTransponderList
*
transponderList
;
33
public
:
34
cEITScanner
(
void
);
35
~cEITScanner
();
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
43
extern
cEITScanner
EITScanner
;
44
45
#endif
//__EITSCAN_H
channels.h
cChannel
Definition
channels.h:87
cEITScanner
Definition
eitscan.h:22
cEITScanner::Active
bool Active(void)
Definition
eitscan.h:36
cEITScanner::lastActivity
std::atomic< time_t > lastActivity
Definition
eitscan.h:29
cEITScanner::ScanTimeout
@ ScanTimeout
Definition
eitscan.h:25
cEITScanner::ActivityTimeout
@ ActivityTimeout
Definition
eitscan.h:24
cEITScanner::currentChannel
int currentChannel
Definition
eitscan.h:30
cEITScanner::cEITScanner
cEITScanner(void)
Definition
eitscan.c:106
cEITScanner::AddTransponder
void AddTransponder(cChannel *Channel)
Definition
eitscan.c:122
cEITScanner::paused
bool paused
Definition
eitscan.h:27
cEITScanner::ForceScan
void ForceScan(void)
Definition
eitscan.c:129
cEITScanner::Process
void Process(void)
Definition
eitscan.c:144
cEITScanner::scanList
cScanList * scanList
Definition
eitscan.h:31
cEITScanner::transponderList
cTransponderList * transponderList
Definition
eitscan.h:32
cEITScanner::Activity
void Activity(void)
Definition
eitscan.c:134
cEITScanner::lastScan
time_t lastScan
Definition
eitscan.h:28
cScanList
Definition
eitscan.c:46
cTransponderList
Definition
eitscan.c:86
config.h
device.h
EITScanner
cEITScanner EITScanner
Definition
eitscan.c:104
Generated by
1.18.0