1 #ifndef __dvbci_dvbci_h
2 #define __dvbci_dvbci_h
4 #include <lib/base/ebase.h>
7 class eDVBCIApplicationManagerSession;
8 class eDVBCICAManagerSession;
10 class eDVBCISlot: public iObject, public Object
12 DECLARE_REF(eDVBCISlot);
17 eSocketNotifier *notifier;
20 enum {stateRemoved, stateInserted};
22 eDVBCISlot(eMainloop *context, int nr);
25 int send(const unsigned char *data, size_t len);
27 eDVBCIApplicationManagerSession *application_manager;
28 eDVBCICAManagerSession *ca_manager;
34 int answerMMI(int answer, char *value);
37 class eDVBCIInterfaces
39 DECLARE_REF(eDVBCIInterfaces);
40 static eDVBCIInterfaces *instance;
42 eSmartPtrList<eDVBCISlot> m_slots;
43 eDVBCISlot *getSlot(int slotid);
48 static eDVBCIInterfaces *getInstance();
51 int initialize(int slot);
52 int startMMI(int slot);
53 int answerMMI(int slot, int answer, char *value);