save and restore root
[enigma2.git] / lib / dvb_ci / dvbci.h
1 #ifndef __dvbci_dvbci_h
2 #define __dvbci_dvbci_h
3
4 #include <lib/base/ebase.h>
5
6 class eDVBCISession;
7 class eDVBCIApplicationManagerSession;
8 class eDVBCICAManagerSession;
9
10 class eDVBCISlot: public iObject, public Object
11 {
12 DECLARE_REF(eDVBCISlot);
13 private:
14         int fd;
15         void data(int);
16         eSocketNotifier *notifier;
17
18         int state;
19         enum {stateRemoved, stateInserted};     
20 public:
21         eDVBCISlot(eMainloop *context, int nr);
22         ~eDVBCISlot();
23         
24         int send(const unsigned char *data, size_t len);
25         
26         eDVBCIApplicationManagerSession *application_manager;
27         eDVBCICAManagerSession *ca_manager;
28 };
29
30 class eDVBCIInterfaces
31 {
32 DECLARE_REF(eDVBCIInterfaces);
33 private:
34         eSmartPtrList<eDVBCISlot>       m_slots;
35 public:
36         eDVBCIInterfaces();
37         ~eDVBCIInterfaces();
38 };
39
40 #endif