blob: 4b28399d4dfe703fd7081d6810676274e067695d (
plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/*
* zaphistory.c: A plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
* $Id$
*/
#include "zaphistory.h"
#include "setup-zaphistory.h"
#include "zaphistoryosd.h"
#include "epg_item.h"
static const char *VERSION = "0.9.6";
static const char *MAINMENUENTRY = "Zapping history";
static const char *DESCRIPTION = "History of the last zapped channels";
const char *cPluginZaphistory::Version(void) {
return VERSION;
}
const char *cPluginZaphistory::Description(void) {
return tr(DESCRIPTION);
}
cPluginZaphistory::cPluginZaphistory(void)
{
// Initialize any member variables here.
// DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
// VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
monitor = NULL;
}
cPluginZaphistory::~cPluginZaphistory()
{
// Clean up after yourself!
}
const char *cPluginZaphistory::CommandLineHelp(void)
{
// Return a string that describes all known command line options.
return NULL;
}
bool cPluginZaphistory::ProcessArgs(int argc, char *argv[])
{
// Implement command line argument processing here if applicable.
return true;
}
bool cPluginZaphistory::Initialize(void)
{
// Initialize any background activities the plugin shall perform.
return true;
}
const char *cPluginZaphistory::MainMenuEntry(void) {
if ( ZapHistorySetup.HideMainMenu == 1 )
return NULL;
return tr( tr(MAINMENUENTRY) );
}
bool cPluginZaphistory::Start(void)
{
Icons::InitCharSet();
// Load stored history
ZapHistory.Load( AddDirectory( ConfigDirectory(), "zaphistory.conf" ));
monitor = new cZapHistoryMonitor();
return true;
}
void cPluginZaphistory::Stop(void)
{
// Save history
ZapHistory.UpdateWatchTime();
ZapHistory.Save();
// Stop any background activities the plugin shall perform.
delete monitor;
}
void cPluginZaphistory::Housekeeping(void)
{
// Perform any cleanup or other regular tasks.
}
cOsdObject *cPluginZaphistory::MainMenuAction(void)
{
// Perform the action when selected from the main VDR menu.
return new cMenuZappedChannels();
}
cMenuSetupPage *cPluginZaphistory::SetupMenu(void)
{
// Return a setup menu in case the plugin supports one.
return new cMenuSetupZapHistory();
}
bool cPluginZaphistory::SetupParse(const char *Name, const char *Value)
{
// Parse your own setup parameters and store their values.
return ZapHistorySetup.SetupParse(Name, Value);
}
VDRPLUGINCREATOR(cPluginZaphistory); // Don't touch this!
|