lib/dvb/frontend.cpp: DTV frontend api support is now working (DVB-S2 is also working...
[enigma2.git] / lib / dvb_ci / dvbci_ui.cpp
index 3190bcf9a0d9d3c1374c1c1fd32ce4e1aa99d7de..b1bfdc25acc9ecb30c40536c1af19fcac289d998 100644 (file)
@@ -1,57 +1,79 @@
 #include <lib/dvb_ci/dvbci_ui.h>
+#include <lib/dvb_ci/dvbci.h>
 
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <string>
-
 #include <lib/base/init.h>
 #include <lib/base/init_num.h>
-#include <lib/base/econfig.h>
 #include <lib/base/eerror.h>
+#include <lib/base/estring.h>
+
+#define MAX_SLOTS 4
 
-eDVBCI_UI *eDVBCI_UI::instance = 0;
+eDVBCI_UI *eDVBCI_UI::instance;
 
 eDVBCI_UI::eDVBCI_UI()
+       :eMMI_UI(MAX_SLOTS)
 {
-       int i;
-       
-       for(i=0;i<MAX_SLOTS;i++)
-               state[i] = 0;           //no module
-
        ASSERT(!instance);
        instance = this;
 }
 
-eDVBCI_UI::~eDVBCI_UI()
+eDVBCI_UI *eDVBCI_UI::getInstance()
+{
+       return instance;
+}
+
+void eDVBCI_UI::setInit(int slot)
 {
+       eDVBCIInterfaces::getInstance()->initialize(slot);
 }
 
-eDVBCI_UI *eDVBCI_UI::getInstance()
+void eDVBCI_UI::setReset(int slot)
 {
-       return instance;
+       eDVBCIInterfaces::getInstance()->reset(slot);
+}
+
+int eDVBCI_UI::startMMI(int slot)
+{
+       eDVBCIInterfaces::getInstance()->startMMI(slot);
+       return 0;
+}
+
+int eDVBCI_UI::stopMMI(int slot)
+{
+       eDVBCIInterfaces::getInstance()->stopMMI(slot);
+       return 0;
+}
+
+int eDVBCI_UI::answerMenu(int slot, int answer)
+{
+       eDVBCIInterfaces::getInstance()->answerText(slot, answer);
+       return 0;
 }
 
-int eDVBCI_UI::getState(int slot)
+int eDVBCI_UI::answerEnq(int slot, char *value)
 {
-       return state[slot];     //exploit me ;)
+       eDVBCIInterfaces::getInstance()->answerEnq(slot, value);
+       return 0;
 }
 
-void eDVBCI_UI::setState(int slot, int newState)
+int eDVBCI_UI::cancelEnq(int slot)
 {
-       state[slot] = newState;
+       eDVBCIInterfaces::getInstance()->cancelEnq(slot);
+       return 0;
 }
 
-std::string eDVBCI_UI::getAppName(int slot)
+int eDVBCI_UI::getMMIState(int slot)
 {
-       return appName;
+       return eDVBCIInterfaces::getInstance()->getMMIState(slot);
 }
 
-void eDVBCI_UI::setAppName(int slot, const char *name)
+int eDVBCI_UI::setClockRate(int slot, int rate)
 {
-       printf("set name to -%c-\n", name);
-       appName = name;
+       return eDVBCIInterfaces::getInstance()->setCIClockRate(slot, rate);
 }
 
 //FIXME: correct "run/startlevel"