X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c4bab36eed7b9ce0ba0b16775a9d429c71c5eed7..c8dc5e272fc58cfb213d0309fab4cbafa1dad58c:/lib/dvb_ci/dvbci.h diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h index 78c1cc8e..7b8a8e25 100644 --- a/lib/dvb_ci/dvbci.h +++ b/lib/dvb_ci/dvbci.h @@ -4,33 +4,49 @@ #include class eDVBCISession; +class eDVBCIApplicationManagerSession; +class eDVBCICAManagerSession; class eDVBCISlot: public iObject, public Object { DECLARE_REF(eDVBCISlot); private: + int slotid; int fd; void data(int); - eSocketNotifier *notifier_data; - void event(int); - eSocketNotifier *notifier_event; + eSocketNotifier *notifier; int state; enum {stateRemoved, stateInserted}; public: eDVBCISlot(eMainloop *context, int nr); - virtual ~eDVBCISlot(); + ~eDVBCISlot(); - int eDVBCISlot::write(const unsigned char *data, size_t len); + int send(const unsigned char *data, size_t len); + + eDVBCIApplicationManagerSession *application_manager; + eDVBCICAManagerSession *ca_manager; + + int getSlotID(); + int reset(); + int startMMI(); }; class eDVBCIInterfaces { +DECLARE_REF(eDVBCIInterfaces); + static eDVBCIInterfaces *instance; private: eSmartPtrList m_slots; + eDVBCISlot *getSlot(int slotid); public: eDVBCIInterfaces(); - virtual ~eDVBCIInterfaces(); + ~eDVBCIInterfaces(); + + static eDVBCIInterfaces *getInstance(); + + int reset(int slot); + int startMMI(int slot); }; #endif