summaryrefslogtreecommitdiff
path: root/spider.c
diff options
context:
space:
mode:
Diffstat (limited to 'spider.c')
-rw-r--r--spider.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/spider.c b/spider.c
new file mode 100644
index 0000000..727db13
--- /dev/null
+++ b/spider.c
@@ -0,0 +1,58 @@
+/*
+ * Spider-Arachnid: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#include "spider.h"
+#include "game.h"
+#include "setup.h"
+#include "i18n.h"
+#include <vdr/plugin.h>
+
+
+static const char* VERSION = "0.1.0";
+static const char* DESCRIPTION = "Spider Arachnid - the best patience game";
+static const char* MAINMENUENTRY = "Spider Arachnid";
+
+
+/** --- class SpiderPlugin ------------------------------------------------- **/
+
+class SpiderPlugin : public cPlugin
+{
+private:
+ SpiderSetup setup;
+public:
+ virtual const char* Version() { return VERSION; }
+ virtual const char* Description() { return tr(DESCRIPTION); }
+ virtual bool Start();
+ virtual const char* MainMenuEntry() { return tr(MAINMENUENTRY); }
+ virtual cOsdObject* MainMenuAction();
+ virtual cMenuSetupPage* SetupMenu();
+ virtual bool SetupParse(const char* name, const char* value);
+};
+
+bool SpiderPlugin::Start()
+{
+ RegisterI18n(Phrases);
+ return true;
+}
+
+cOsdObject* SpiderPlugin::MainMenuAction()
+{
+ return new SpiderGame(setup, ConfigDirectory(Name()));
+}
+
+cMenuSetupPage* SpiderPlugin::SetupMenu()
+{
+ return new SpiderSetupMenu(setup);
+}
+
+bool SpiderPlugin::SetupParse(const char* name, const char* value)
+{
+ return setup.parse(name, value);
+}
+
+VDRPLUGINCREATOR(SpiderPlugin); // Don't touch this!