add some stuff
[enigma2.git] / lib / dvb_ci / dvbci_ui.cpp
1 #include <lib/dvb_ci/dvbci_ui.h>
2 #include <lib/dvb_ci/dvbci.h>
3
4 #include <unistd.h>
5 #include <fcntl.h>
6 #include <sys/ioctl.h>
7
8 #include <string>
9
10 #include <lib/base/init.h>
11 #include <lib/base/init_num.h>
12 #include <lib/base/econfig.h>
13 #include <lib/base/eerror.h>
14
15 eDVBCI_UI *eDVBCI_UI::instance = 0;
16
17 eDVBCI_UI::eDVBCI_UI()
18 {
19         int i;
20         
21         for(i=0;i<MAX_SLOTS;i++)
22                 state[i] = 0;           //no module
23
24         ASSERT(!instance);
25         instance = this;
26 }
27
28 eDVBCI_UI::~eDVBCI_UI()
29 {
30 }
31
32 eDVBCI_UI *eDVBCI_UI::getInstance()
33 {
34         return instance;
35 }
36
37 int eDVBCI_UI::getState(int slot)
38 {
39         return state[slot];     //exploit me ;)
40 }
41
42 void eDVBCI_UI::setState(int slot, int newState)
43 {
44         state[slot] = newState;
45 }
46
47 std::string eDVBCI_UI::getAppName(int slot)
48 {
49         return appName;
50 }
51
52 void eDVBCI_UI::setAppName(int slot, const char *name)
53 {
54         printf("set name to -%c-\n", name);
55         appName = name;
56 }
57
58 void eDVBCI_UI::setReset(int slot)
59 {
60         eDVBCIInterfaces::getInstance()->reset(slot);
61 }
62
63 int eDVBCI_UI::startMMI(int slot)
64 {
65         eDVBCIInterfaces::getInstance()->startMMI(slot);
66 }
67
68 int eDVBCI_UI::stopMMI(int slot)
69 {
70         eDVBCIInterfaces::getInstance()->stopMMI(slot);
71 }
72
73 int eDVBCI_UI::initialize(int slot)
74 {
75         eDVBCIInterfaces::getInstance()->initialize(slot);
76 }
77
78 int eDVBCI_UI::answerMMI(int slot, int answer, char *value=0)
79 {
80         eDVBCIInterfaces::getInstance()->answerMMI(slot, answer, value);
81 }
82
83 //FIXME: correct "run/startlevel"
84 eAutoInitP0<eDVBCI_UI> init_dvbciui(eAutoInitNumbers::rc, "DVB-CI UI");