#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 #include #include #include #include #include #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 int LightpackProfileIndex; extern class cLibLightpack libLightpack; class cPluginLightpack : public cPlugin { private: // Add any member variables or functions you may need here. void SetLightpackSettings(void); 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; cString Error; cString LastError; public: cLibLightpack(); ~cLibLightpack(); cString Server; cString Port; cString ApiKey; const char* GetLastError(void); bool Connect(void); bool isConnected(void); void Disconnect(void); bool SetGamma(double Value); bool SetBrightness(int Value); bool SetSmooth(int Value); bool SetStatus(bool Value); // 1 = Ambilight // 2 = Lamp bool SetMode(int Value); bool SetProfile(cString Profile); 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); bool GetProfile(cString &Profile); bool GetProfiles(cStringList &Profiles); bool GetFps(double &Fps); }; #endif