diff options
Diffstat (limited to 'sh_plugin.h')
| -rw-r--r-- | sh_plugin.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sh_plugin.h b/sh_plugin.h new file mode 100644 index 0000000..2bf7bcb --- /dev/null +++ b/sh_plugin.h @@ -0,0 +1,46 @@ +/* + * plugin.h: The VDR plugin interface + * + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * + * $Id: sh_plugin.h,v 1.1 2004/02/01 18:22:53 LarsAC Exp $ + */ + +#ifndef __PLUGIN_H +#define __PLUGIN_H + +#include "myosd.h" +#include "mymenuitems.h" +typedef cOsdMenu cOsdObject; +#define VDRPLUGINCREATOR(PluginClass) extern "C" void *VDRPluginCreator(void) { return new PluginClass; } + +class cPlugin { +private: + static char *configDirectory; + const char *name; + void SetName(const char *s); +public: + cPlugin(void); + virtual ~cPlugin(); + + const char *Name(void) { return name; } + virtual const char *Version(void) = 0; + virtual const char *Description(void) = 0; + virtual const char *CommandLineHelp(void); + + virtual bool ProcessArgs(int argc, char *argv[]); + virtual bool Initialize(void); + virtual bool Start(void); + virtual void Housekeeping(void); + + virtual const char *MainMenuEntry(void); + virtual cOsdObject *MainMenuAction(void); + + virtual cMenuSetupPage *SetupMenu(void); + + virtual bool SetupParse(const char *Name, const char *Value); + + }; + +#endif //__PLUGIN_H |
