From: Andreas Monzner Date: Tue, 5 Dec 2006 13:58:07 +0000 (+0000) Subject: add new files X-Git-Tag: 2.6.0~2625 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/763193df158ff0432fb67b37589f910b93c84c17 add new files --- diff --git a/lib/driver/misc_options.cpp b/lib/driver/misc_options.cpp new file mode 100644 index 00000000..ecb7bdb1 --- /dev/null +++ b/lib/driver/misc_options.cpp @@ -0,0 +1,48 @@ +#include + +#include +#include +#include + +#include +#include +#include + +Misc_Options *Misc_Options::instance = 0; + +Misc_Options::Misc_Options() + :m_12V_output_state(-1) +{ + ASSERT(!instance); + instance = this; +} + +int Misc_Options::set_12V_output(int state) +{ + if (state == m_12V_output_state) + return 0; + int fd = open("/proc/stb/misc/12V_output", O_WRONLY); + if (fd < 0) + { + eDebug("couldn't open /proc/stb/misc/12V_output"); + return -1; + } + const char *str=0; + if (state == 0) + str = "off"; + else if (state == 1) + str = "on"; + if (str) + write(fd, str, strlen(str)); + m_12V_output_state = state; + close(fd); + return 0; +} + +Misc_Options *Misc_Options::getInstance() +{ + return instance; +} + +//FIXME: correct "run/startlevel" +eAutoInitP0 init_misc_options(eAutoInitNumbers::rc, "misc options"); diff --git a/lib/driver/misc_options.h b/lib/driver/misc_options.h new file mode 100644 index 00000000..6baf2cf2 --- /dev/null +++ b/lib/driver/misc_options.h @@ -0,0 +1,20 @@ +#ifndef __misc_options_h +#define __misc_options_h + +class Misc_Options +{ + static Misc_Options *instance; + int m_12V_output_state; +#ifdef SWIG + Misc_Options(); +#endif +public: +#ifndef SWIG + Misc_Options(); +#endif + static Misc_Options *getInstance(); + int set_12V_output(int val); + int get_12V_output() { return m_12V_output_state; } +}; + +#endif // __misc_options_h