1 #ifndef __dvbci_dvbci_h
2 #define __dvbci_dvbci_h
4 #include <lib/base/ebase.h>
7 class eDVBCIApplicationManagerSession;
8 class eDVBCICAManagerSession;
9 class eDVBCIMMISession;
11 class eDVBCISlot: public iObject, public Object
13 DECLARE_REF(eDVBCISlot);
18 eSocketNotifier *notifier;
21 enum {stateRemoved, stateInserted};
23 eDVBCISlot(eMainloop *context, int nr);
26 int send(const unsigned char *data, size_t len);
28 eDVBCIApplicationManagerSession *application_manager;
29 eDVBCICAManagerSession *ca_manager;
30 eDVBCIMMISession *mmi_session;
37 int answerText(int answer);
38 int answerEnq(int answer, char *value);
41 class eDVBCIInterfaces
43 DECLARE_REF(eDVBCIInterfaces);
44 static eDVBCIInterfaces *instance;
46 eSmartPtrList<eDVBCISlot> m_slots;
47 eDVBCISlot *getSlot(int slotid);
52 static eDVBCIInterfaces *getInstance();
55 int initialize(int slot);
56 int startMMI(int slot);
57 int stopMMI(int slot);
58 int answerText(int slot, int answer);
59 int answerEnq(int slot, int answer, char *value);