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 answerMMI(int answer, char *value);
40 class eDVBCIInterfaces
42 DECLARE_REF(eDVBCIInterfaces);
43 static eDVBCIInterfaces *instance;
45 eSmartPtrList<eDVBCISlot> m_slots;
46 eDVBCISlot *getSlot(int slotid);
51 static eDVBCIInterfaces *getInstance();
54 int initialize(int slot);
55 int startMMI(int slot);
56 int stopMMI(int slot);
57 int answerMMI(int slot, int answer, char *value);