summaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'status.c')
-rw-r--r--status.c128
1 files changed, 128 insertions, 0 deletions
diff --git a/status.c b/status.c
new file mode 100644
index 0000000..b786ffb
--- /dev/null
+++ b/status.c
@@ -0,0 +1,128 @@
+/*
+ * iMON LCD plugin to VDR (C++)
+ *
+ * (C) 2009 Andreas Brachold <vdr07 AT deltab de>
+ *
+ * This code is distributed under the terms and conditions of the
+ * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
+ *
+ */
+
+#include <stdint.h>
+#include <time.h>
+#include <vdr/eitscan.h>
+
+#include "watch.h"
+#include "status.h"
+
+//#define MOREDEBUGMSG
+
+// ---
+ciMonStatusMonitor::ciMonStatusMonitor(ciMonWatch* pDev)
+: m_pDev(pDev)
+{
+
+}
+
+void ciMonStatusMonitor::ChannelSwitch(const cDevice *pDevice, int nChannelNumber)
+{
+ if (nChannelNumber > 0
+ && pDevice->IsPrimaryDevice()
+ && !EITScanner.UsesDevice(pDevice)
+ && (nChannelNumber == cDevice::CurrentChannel()))
+ {
+#ifdef MOREDEBUGMSG
+ dsyslog("iMonLCD: channel switched to %d on DVB %d", nChannelNumber, pDevice->CardIndex());
+#endif
+ m_pDev->Channel(nChannelNumber);
+ }
+}
+
+void ciMonStatusMonitor::SetVolume(int Volume, bool Absolute)
+{
+#ifdef MOREDEBUGMSG
+ dsyslog("iMonLCD: SetVolume %d %d", Volume, Absolute);
+#endif
+ m_pDev->Volume(Volume,Absolute);
+}
+
+void ciMonStatusMonitor::Recording(const cDevice *pDevice, const char *szName, const char *szFileName, bool bOn)
+{
+#ifdef MOREDEBUGMSG
+ dsyslog("iMonLCD: Recording %d %s", pDevice->CardIndex(), szName);
+#endif
+ m_pDev->Recording(pDevice,szName,szFileName,bOn);
+}
+
+void ciMonStatusMonitor::Replaying(const cControl *pControl, const char *szName, const char *szFileName, bool bOn)
+{
+#ifdef MOREDEBUGMSG
+ dsyslog("iMonLCD: Replaying %s", szName);
+#endif
+ m_pDev->Replaying(pControl,szName,szFileName,bOn);
+}
+
+void ciMonStatusMonitor::OsdClear(void)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdClear");
+#endif
+}
+
+void ciMonStatusMonitor::OsdTitle(const char *Title)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdTitle '%s'", Title);
+#endif
+}
+
+void ciMonStatusMonitor::OsdStatusMessage(const char *szMessage)
+{
+#ifdef MOREDEBUGMSG
+ dsyslog("iMonLCD: OsdStatusMessage '%s'", szMessage ? szMessage : "NULL");
+#endif
+ m_pDev->StatusMessage(szMessage);
+}
+
+void ciMonStatusMonitor::OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdHelpKeys %s - %s - %s - %s", Red, Green, Yellow, Blue);
+#endif
+}
+
+void ciMonStatusMonitor::OsdCurrentItem(const char *Text)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdCurrentItem %s", Text);
+#endif
+}
+
+void ciMonStatusMonitor::OsdTextItem(const char *Text, bool Scroll)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdTextItem %s %d", Text, Scroll);
+#endif
+}
+
+void ciMonStatusMonitor::OsdChannel(const char *Text)
+{
+#ifdef unusedMOREDEBUGMSG
+ dsyslog("iMonLCD: OsdChannel %s", Text);
+#endif
+}
+
+void ciMonStatusMonitor::OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle)
+{
+#ifdef unusedMOREDEBUGMSG
+ char buffer[25];
+ struct tm tm_r;
+ dsyslog("iMonLCD: OsdProgramme");
+ strftime(buffer, sizeof(buffer), "%R", localtime_r(&PresentTime, &tm_r));
+ dsyslog("%5s %s", buffer, PresentTitle);
+ dsyslog("%5s %s", "", PresentSubtitle);
+ strftime(buffer, sizeof(buffer), "%R", localtime_r(&FollowingTime, &tm_r));
+ dsyslog("%5s %s", buffer, FollowingTitle);
+ dsyslog("%5s %s", "", FollowingSubtitle);
+#endif
+}