+ printf("eDVBCI_UI::mmiScreenBegin\n");
+
+ mmiScreenReady = 0;
+
+ mmiScreen = PyList_New(1);
+
+ PyObject *tuple = PyTuple_New(1);
+ if(listmenu == 0) //menu
+ PyTuple_SetItem(tuple, 0, PyString_FromString("MENU"));
+ else //list
+ PyTuple_SetItem(tuple, 0, PyString_FromString("LIST"));
+
+ PyList_SetItem(mmiScreen, 0, tuple);
+
+ mmiTuplePos = 1;
+
+ return 0;
+}
+
+int eDVBCI_UI::mmiScreenAddText(int slot, int type, char *value)
+{
+ printf("eDVBCI_UI::mmiScreenAddText(%s)\n",value);
+
+ PyObject *tuple = PyTuple_New(3);
+
+ if(type == 0) //title
+ PyTuple_SetItem(tuple, 0, PyString_FromString("TITLE"));
+ else if(type == 1) //subtitle
+ PyTuple_SetItem(tuple, 0, PyString_FromString("SUBTITLE"));
+ else if(type == 2) //bottom
+ PyTuple_SetItem(tuple, 0, PyString_FromString("BOTTOM"));
+ else
+ PyTuple_SetItem(tuple, 0, PyString_FromString("TEXT"));
+
+ printf("addText %s with id %d\n", value, type);
+
+ PyTuple_SetItem(tuple, 1, PyString_FromString(value));
+
+ if(type > 2)
+ PyTuple_SetItem(tuple, 2, PyInt_FromLong(type-2));
+ else
+ PyTuple_SetItem(tuple, 2, PyInt_FromLong(-1));
+
+ PyList_Append(mmiScreen, tuple);
+
+ return 0;
+}
+
+int eDVBCI_UI::mmiScreenFinish(int slot)
+{
+ printf("eDVBCI_UI::mmiScreenFinish\n");
+
+ mmiScreenReady = 1;
+
+ return 0;
+}
+
+int eDVBCI_UI::getMMIState(int slot)
+{
+ return eDVBCIInterfaces::getInstance()->getMMIState(slot);
+}
+
+PyObject *eDVBCI_UI::getMMIScreen(int slot)
+{
+ if(mmiScreenReady != 1)
+ return Py_None;
+
+ mmiScreenReady = 0;
+
+ return mmiScreen;