X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdvb_ci%2Fdvbci_ui.h;h=3db215faac4886ca032ca823ca96ec53795b09e8;hb=98652711568f9545526722e0090c05ae91b87e15;hp=7d45bfaad16aa988b248c11decf5bc94319978dd;hpb=bb9abed29ca9126cc2b8a0fa3d76ea2e7245cee7;p=vuplus_dvbapp diff --git a/lib/dvb_ci/dvbci_ui.h b/lib/dvb_ci/dvbci_ui.h index 7d45bfa..3db215f 100644 --- a/lib/dvb_ci/dvbci_ui.h +++ b/lib/dvb_ci/dvbci_ui.h @@ -2,40 +2,55 @@ #define __dvbci_ui_h #include + /* avoid warnigs :) */ +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200112L #include -#define MAX_SLOTS 2 +#define MAX_SLOTS 4 + +struct slot_ui_data +{ + std::string appName; + int state; + PyObject *mmiScreen; + int mmiTuplePos; + int mmiScreenReady; +}; class eDVBCI_UI { - int state[MAX_SLOTS]; static eDVBCI_UI *instance; - std::string appName; -protected: + slot_ui_data slotdata[MAX_SLOTS]; +#ifdef SWIG + eDVBCI_UI(); + ~eDVBCI_UI(); +#endif public: +#ifndef SWIG eDVBCI_UI(); ~eDVBCI_UI(); - +#endif static eDVBCI_UI *getInstance(); - + int getState(int slot); void setState(int slot, int state); std::string getAppName(int slot); void setAppName(int slot, const char *name); + void setInit(int slot); void setReset(int slot); - int initialize(int slot); int startMMI(int slot); int stopMMI(int slot); int availableMMI(int slot); + int getMMIState(int slot); int answerMenu(int slot, int answer); - int answerEnq(int slot, int answer, char *val); + int answerEnq(int slot, char *val); + int cancelEnq(int slot); - PyObject *eDVBCI_UI::getMMIScreen(int slot); - PyObject *mmiScreen; - int mmiTuplePos; - int mmiScreenReady; - + PyObject *getMMIScreen(int slot); + + int mmiScreenEnq(int slot, int blind, int answerLen, char *text); int mmiScreenBegin(int slot, int listmenu); int mmiScreenAddText(int slot, int type, char *value); int mmiScreenFinish(int slot);