summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2018-02-09 17:15:09 +0100
committerhorchi <vdr@jwendel.de>2018-02-09 17:15:09 +0100
commit59875c10d77355d34b864445e63f635fcc60d853 (patch)
treed142415bad5d29eb65613edc94418d6ae2272e75 /menu.c
parentdc1a77c5662d6b1d1fb988f61590f71af3773c29 (diff)
downloadvdr-plugin-epg2vdr-59875c10d77355d34b864445e63f635fcc60d853.tar.gz
vdr-plugin-epg2vdr-59875c10d77355d34b864445e63f635fcc60d853.tar.bz2
2018-02-09 version 1.1.82 (horchi)\n - added: Switch timer\n\n1.1.82
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/menu.c b/menu.c
index d24a92a..ee1aebb 100644
--- a/menu.c
+++ b/menu.c
@@ -667,6 +667,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid)
timerDb->setValue("VDRUUID", destUuid);
timerDb->setCharValue("ACTION", taCreate);
timerDb->setValue("SOURCE", Epg2VdrConfig.uuid);
+ timerDb->setCharValue("TYPE", ttRecord);
timerDb->insert();
tell(0, "Created 'move' request for timer (%d) at vdr '%s'",
@@ -681,6 +682,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid)
timerDb->setCharValue("ACTION", knownTimer ? taModify : taCreate);
timerDb->getValue("STATE")->setNull();
timerDb->setValue("SOURCE", Epg2VdrConfig.uuid);
+ timerDb->setCharValue("TYPE", ttRecord);
if (!knownTimer)
timerDb->setValue("NAMINGMODE", tnmAuto);
@@ -702,10 +704,38 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid)
}
//***************************************************************************
+// Create Switch Timer
+//***************************************************************************
+
+int cMenuDb::createSwitchTimer(const cEvent* event)
+{
+ int timerMatch = tmNone;
+ int remote = no;
+
+ // alredy or nearly started?
+
+ if (!event || event->StartTime() <= time(0)+tmeSecondsPerMinute)
+ return done;
+
+ // already created?
+
+ if (lookupTimer(event, timerMatch, remote))
+ return done;
+
+ cDbRow* timerRow = newTimerRowFromEvent(event);
+ createTimer(timerRow, Epg2VdrConfig.uuid, ttView);
+
+ tell(0, "Switch timer for '%s' at '%s' created",
+ event->Title(), l2pTime(event->StartTime()).c_str());
+
+ return done;
+}
+
+//***************************************************************************
// Create Timer
//***************************************************************************
-int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid)
+int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid, int type)
{
long int manualTimer2Done;
@@ -717,11 +747,13 @@ int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid)
timerDb->copyValues(timerRow, cDBS::ftData);
timerDb->setValue("VDRUUID", destUuid);
+ timerDb->setCharValue("TYPE", type);
+ // timerDb->setCharValue("ACTIVE", type != ttView); // #TODO will this better?
timerDb->setCharValue("ACTION", taCreate);
timerDb->setValue("SOURCE", Epg2VdrConfig.uuid);
timerDb->setValue("NAMINGMODE", tnmAuto);
- if (manualTimer2Done)
+ if (manualTimer2Done && type != ttView)
{
useeventsDb->clear();
useeventsDb->setValue("USEID", timerRow->getIntValue("EVENTID"));