summaryrefslogtreecommitdiff
path: root/lightpack.h
diff options
context:
space:
mode:
Diffstat (limited to 'lightpack.h')
-rw-r--r--lightpack.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/lightpack.h b/lightpack.h
new file mode 100644
index 0000000..4f3811b
--- /dev/null
+++ b/lightpack.h
@@ -0,0 +1,109 @@
+#ifndef __LIGHTPACK_H__
+#define __LIGHTPACK_H__
+
+/*
+ * lightpack.c: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#include <vdr/plugin.h>
+#include <vdr/config.h>
+#include <vdr/menu.h>
+#include <pwd.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "osdmenu.h"
+
+static const char *VERSION = "0.0.1";
+static const char *DESCRIPTION = "Lightpack plugin";
+static const char *MAINMENUENTRY = "Lightpack";
+
+extern int LightpackGamma;
+extern int LightpackBrightness;
+extern int LightpackSmooth;
+
+extern class cLibLightpack libLightpack;
+
+class cPluginLightpack : public cPlugin {
+private:
+ // Add any member variables or functions you may need here.
+
+ void LoadConfig(void);
+ char * GetConfigValue(const char *Filename, const char *Setting);
+public:
+ cPluginLightpack(void);
+ virtual ~cPluginLightpack();
+ virtual const char *Version(void) { return VERSION; }
+ virtual const char *Description(void) { return DESCRIPTION; }
+ virtual const char *CommandLineHelp(void);
+ virtual bool ProcessArgs(int argc, char *argv[]);
+ virtual bool Initialize(void);
+ virtual bool Start(void);
+ virtual void Stop(void);
+ virtual void Housekeeping(void);
+ virtual void MainThreadHook(void);
+ virtual cString Active(void);
+ virtual time_t WakeupTime(void);
+ virtual const char *MainMenuEntry(void) { return MAINMENUENTRY; }
+ virtual cOsdObject *MainMenuAction(void);
+ virtual cMenuSetupPage *SetupMenu(void);
+ virtual bool SetupParse(const char *Name, const char *Value);
+ virtual bool Service(const char *Id, void *Data = NULL);
+ virtual const char **SVDRPHelpPages(void);
+ virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode);
+};
+
+
+class cLibLightpack {
+ bool is_init;
+ bool is_connected;
+
+ double gamma;
+ int brightness;
+ int smooth;
+public:
+ cLibLightpack();
+ ~cLibLightpack();
+
+ cString Server;
+ cString Port;
+ cString ApiKey;
+
+ int Connect(void);
+ bool isConnected(void);
+ void Disconnect(void);
+
+ int SetGamma(double Value);
+ int SetBrightness(int Value);
+ int SetSmooth(int Value);
+
+ int SetStatus(bool Value);
+
+ // 1 = Ambilight
+ // 2 = Lamp
+ int SetMode(int Value);
+
+ double GetGamma(void);
+ int GetBrightness(void);
+ int GetSmooth(void);
+
+ // 0 = Error
+ // 1 = On
+ // 2 = Off
+ int GetStatus(void);
+
+ // 0 = Error
+ // 1 = Ambilight
+ // 2 = Lamp
+ int GetMode(void);
+
+ int GetProfile(cString &Profile);
+
+ double GetFps(void);
+};
+
+#endif