summaryrefslogtreecommitdiff
path: root/dynamicdevice.c
diff options
context:
space:
mode:
authorLars Hanisch <dvb@flensrocker.de>2011-03-25 21:20:07 +0100
committerLars Hanisch <dvb@flensrocker.de>2011-03-25 21:20:07 +0100
commit59cb96c4c68c1031d713ee36342643378641ca4e (patch)
treec6177a5b57eac5f220ca7e9ffcaee4f7505be38e /dynamicdevice.c
parent2e1250d57513f385d3dbd6527f94d98366c84fc9 (diff)
downloadvdr-plugin-dynamite-59cb96c4c68c1031d713ee36342643378641ca4e.tar.gz
vdr-plugin-dynamite-59cb96c4c68c1031d713ee36342643378641ca4e.tar.bz2
add some OSD functionalityv0.0.6a
Diffstat (limited to 'dynamicdevice.c')
-rw-r--r--dynamicdevice.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/dynamicdevice.c b/dynamicdevice.c
index 9aeccb9..3426994 100644
--- a/dynamicdevice.c
+++ b/dynamicdevice.c
@@ -1,11 +1,13 @@
#include "dynamicdevice.h"
#include "udev.h"
#include <glob.h>
+#include <vdr/skins.h>
#include <vdr/transfer.h>
cPlugin *cDynamicDevice::dynamite = NULL;
int cDynamicDevice::defaultGetTSTimeout = 0;
cDvbDeviceProbe *cDynamicDevice::dvbprobe = NULL;
+bool cDynamicDevice::enableOsdMessages = false;
int cDynamicDevice::numDynamicDevices = 0;
cMutex cDynamicDevice::arrayMutex;
cDynamicDevice *cDynamicDevice::dynamicdevice[MAXDEVICES] = { NULL };
@@ -28,6 +30,13 @@ int cDynamicDevice::IndexOf(const char *DevPath, int &NextFreeIndex)
return index;
}
+cDynamicDevice *cDynamicDevice::GetDynamicDevice(int Index)
+{
+ if ((Index < 0) || (Index >= numDynamicDevices))
+ return NULL;
+ return dynamicdevice[Index];
+}
+
bool cDynamicDevice::ProcessQueuedCommands(void)
{
for (cDynamicDeviceProbe::cDynamicDeviceProbeItem *dev = cDynamicDeviceProbe::commandQueue.First(); dev; dev = cDynamicDeviceProbe::commandQueue.Next(dev)) {
@@ -184,6 +193,10 @@ attach:
isyslog("dynamite: attached device %s to dynamic device slot %d", DevPath, freeIndex + 1);
dynamicdevice[freeIndex]->ReadUdevProperties();
cPluginManager::CallAllServices("dynamite-event-DeviceAttached-v0.1", (void*)DevPath);
+ if (enableOsdMessages) {
+ cString osdMsg = cString::sprintf("attached %s", DevPath);
+ Skins.QueueMessage(mtInfo, *osdMsg);
+ }
return ddrcSuccess;
}
@@ -224,6 +237,10 @@ eDynamicDeviceReturnCode cDynamicDevice::DetachDevice(const char *DevPath, bool
dynamicdevice[index]->DeleteSubDevice();
isyslog("dynamite: detached device %s%s", DevPath, (Force ? " (forced)" : ""));
+ if (enableOsdMessages) {
+ cString osdMsg = cString::sprintf("detached %s", DevPath);
+ Skins.QueueMessage(mtInfo, *osdMsg);
+ }
return ddrcSuccess;
}