add dvbci_ui class to make ci-comm more simple
authorRonny Strutz <ronny.strutz@multimedia-labs.de>
Thu, 10 Nov 2005 04:00:03 +0000 (04:00 +0000)
committerRonny Strutz <ronny.strutz@multimedia-labs.de>
Thu, 10 Nov 2005 04:00:03 +0000 (04:00 +0000)
lib/dvb_ci/Makefile.am
lib/dvb_ci/dvbci_ui.cpp [new file with mode: 0644]
lib/dvb_ci/dvbci_ui.h [new file with mode: 0644]

index 85940da..fc7f762 100644 (file)
@@ -5,5 +5,6 @@ noinst_LIBRARIES = libenigma_dvb_ci.a
 
 libenigma_dvb_ci_a_SOURCES = dvbci.cpp dvbci_session.cpp dvbci_resmgr.cpp \
                                                                                                                 dvbci_appmgr.cpp dvbci_camgr.cpp \
-                                                                                                                dvbci_datetimemgr.cpp dvbci_mmi.cpp
+                                                                                                                dvbci_datetimemgr.cpp dvbci_mmi.cpp \
+                                                                                                                dvbci_ui.cpp
 
diff --git a/lib/dvb_ci/dvbci_ui.cpp b/lib/dvb_ci/dvbci_ui.cpp
new file mode 100644 (file)
index 0000000..8dfb87e
--- /dev/null
@@ -0,0 +1,40 @@
+#include <lib/dvb_ci/dvbci_ui.h>
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+
+#include <lib/base/init.h>
+#include <lib/base/init_num.h>
+#include <lib/base/econfig.h>
+#include <lib/base/eerror.h>
+
+eDVBCI_UI *eDVBCI_UI::instance = 0;
+
+eDVBCI_UI::eDVBCI_UI()
+{
+       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;
+}
+
+int eDVBCI_UI::getState(int slot)
+{
+       return state[slot];     //exploit me ;)
+}
+
+//FIXME: correct "run/startlevel"
+eAutoInitP0<eDVBCI_UI> init_dvbciui(eAutoInitNumbers::rc, "DVB-CI UI");
diff --git a/lib/dvb_ci/dvbci_ui.h b/lib/dvb_ci/dvbci_ui.h
new file mode 100644 (file)
index 0000000..b49a675
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef __dvbci_ui_h
+#define __dvbci_ui_h
+
+#define MAX_SLOTS      2       
+
+class eDVBCI_UI
+{
+       int state[MAX_SLOTS];
+       static eDVBCI_UI *instance;
+protected:
+public:
+       eDVBCI_UI();
+       ~eDVBCI_UI();
+
+       static eDVBCI_UI *getInstance();
+       
+       int eDVBCI_UI::getState(int slot);
+};
+
+#endif