b72b21b1ef82bdc36e6fb72b87496a9807da84e1
[vuplus_dvbapp] / 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_data;
17         void event(int);
18         eSocketNotifier *notifier_event;
19
20         int state;
21         enum {stateRemoved, stateInserted};     
22 public:
23         eDVBCISlot(eMainloop *context, int nr);
24         virtual ~eDVBCISlot();
25         
26         int eDVBCISlot::write(const unsigned char *data, size_t len);
27         
28         eDVBCIApplicationManagerSession *application_manager;
29         eDVBCICAManagerSession *ca_manager;
30 };
31
32 class eDVBCIInterfaces
33 {
34 private:
35         eSmartPtrList<eDVBCISlot>       m_slots;
36 public:
37         eDVBCIInterfaces();
38         virtual ~eDVBCIInterfaces();
39 };
40
41 #endif