diff options
Diffstat (limited to 'dvdplugin.h')
-rw-r--r-- | dvdplugin.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/dvdplugin.h b/dvdplugin.h new file mode 100644 index 0000000..6591370 --- /dev/null +++ b/dvdplugin.h @@ -0,0 +1,48 @@ +#ifndef __DVDPLUGIN_DVDSWITCH_H +#define __DVDPLUGIN_DVDSWITCH_H + +#include <vdr/thread.h> +#include "helpers.h" +#include "setup.h" + +#define LINK "ln -nfs '%s' '%s' 2> /dev/null" + +class cDVDPluginThread : public cThread +{ + private: + char *Image; + protected: + virtual void Action(void); + public: + cDVDPluginThread(char *image = NULL); + ~cDVDPluginThread(void); +}; + +class cDVDPlugin +{ + private: + static cDVDPluginThread *thread; + static void DetectDevice(void); + static void SetLink(void); + static void KillLink(void) + { + cFileCMD::Del(DVDSwitchSetup.DVDLink); + }; + public: + static void Start(char *image = NULL); + static void Exit(void); + static void ChangeLink(char *target); + static void Init(void) + { + DetectDevice(); + ChangeLink(DVDSwitchSetup.DVDLinkOrg); + SetLink(); + } + static void Finish(void) + { + Exit(); + KillLink(); + } +}; + +#endif // __DVDPLUGIN_DVDSWITCH_H |