3dc62e236d9bcc63da90a0444f1a44d58dc355be
[vuplus_dvbapp] / lib / dvb_ci / dvbci_ui.h
1 #ifndef __dvbci_ui_h
2 #define __dvbci_ui_h
3
4 #include <string>
5 #include <Python.h>
6
7 #define MAX_SLOTS       2       
8
9 class eDVBCI_UI
10 {
11         int state[MAX_SLOTS];
12         static eDVBCI_UI *instance;
13         std::string appName;
14         PyObject *mmiScreen;
15         int mmiTuplePos;
16         int mmiScreenReady;
17 #ifdef SWIG
18         eDVBCI_UI();
19         ~eDVBCI_UI();
20 #endif
21 public:
22 #ifndef SWIG
23         eDVBCI_UI();
24         ~eDVBCI_UI();
25 #endif
26         static eDVBCI_UI *getInstance();
27         
28         int getState(int slot);
29         void setState(int slot, int state);
30         std::string getAppName(int slot);
31         void setAppName(int slot, const char *name);
32         void setReset(int slot);
33         int initialize(int slot);
34         int startMMI(int slot);
35         int stopMMI(int slot);
36         int availableMMI(int slot);
37         int getMMIState(int slot);
38
39         int answerMenu(int slot, int answer);
40         int answerEnq(int slot, char *val);
41         int cancelEnq(int slot);
42
43         PyObject *eDVBCI_UI::getMMIScreen(int slot);
44
45         int mmiScreenEnq(int slot, int blind, int answerLen, char *text);
46         int mmiScreenBegin(int slot, int listmenu);
47         int mmiScreenAddText(int slot, int type, char *value);
48         int mmiScreenFinish(int slot);
49 };
50
51 #endif