diff options
Diffstat (limited to 'zaphistory.c')
-rw-r--r-- | zaphistory.c | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/zaphistory.c b/zaphistory.c new file mode 100644 index 0000000..4b28399 --- /dev/null +++ b/zaphistory.c @@ -0,0 +1,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! |