-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathScanControl.cpp
59 lines (50 loc) · 1.9 KB
/
ScanControl.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/******************************************************************************
* w_scan_cpp - a dtv channel scanner based on VDR (www.tvdr.de) and it's
* Plugins.
*
* See the README file for copyright information and how to reach the author.
*****************************************************************************/
#include "ScanControl.h"
#include "Helpers.h"
#include "CmdOpts.h"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#include <vdr/plugin.h>
#include <vdr/PLUGINS/src/wirbelscan/wirbelscan_services.h>
#pragma GCC diagnostic pop
/*******************************************************************************
* don't pollute the whole program with the namespace WIRBELSCAN_SERVICE or
* wirbelscan_services.h
* -> isolate it inside this object: ScanControl.o
******************************************************************************/
using namespace WIRBELSCAN_SERVICE;
bool StartScan(void) {
cWirbelscanCmd cmd = { CmdStartScan, false };
if (not wirbelscan->Service((SPlugin + std::string(SCommand)).c_str(), (void*) &cmd)) {
ErrorMessage(__FUNCTION__ + std::string(" failed: unknown service."));
return false;
}
if (not cmd.replycode)
ErrorMessage("DoScan() failed.");
return cmd.replycode;
}
static bool Status(cWirbelscanStatus& stat) {
if (not wirbelscan->Service((SPlugin + std::string("Get") + SStatus).c_str(), (void*) &stat)) {
ErrorMessage(__FUNCTION__ + std::string(" failed: unknown service."));
return false;
}
return true;
}
bool Scanning(void) {
cWirbelscanStatus stat;
if (not Status(stat))
return false;
return stat.status == StatusScanning;
}
bool Import(std::vector<TChannel>& dest) {
if (not wirbelscan->Service((SPlugin + std::string(SExport)).c_str(), (void*) &dest)) {
ErrorMessage(__FUNCTION__ + std::string(" failed: unknown service."));
return false;
}
return true;
}