1 #ifndef __dvbci_dvbci_h
2 #define __dvbci_dvbci_h
50 #define T_CREATE_T_C 0x82
51 #define T_C_T_C_REPLY 0x83
52 #define T_DELETE_T_C 0x84
53 #define T_D_T_C_REPLY 0x85
54 #define T_REQUEST_T_C 0x86
55 #define T_NEW_T_C 0x87
56 #define T_T_C_ERROR 0x77
57 #define T_DATA_LAST 0xA0
59 #define T_DATA_MORE 0xA1
62 typedef enum {eDataTimeout, eDataError, eDataReady, eDataWrite, eDataStatusChanged} eData;
64 static inline int time_after(
struct timespec oldtime, uint32_t delta_ms)
67 uint64_t oldtime_ms = (oldtime.tv_sec * 1000) + (oldtime.tv_nsec / 1000000);
68 oldtime_ms += delta_ms;
71 struct timespec nowtime;
72 clock_gettime(CLOCK_MONOTONIC, &nowtime);
73 uint64_t nowtime_ms = (nowtime.tv_sec * 1000) + (nowtime.tv_nsec / 1000000);
76 return nowtime_ms > oldtime_ms;
88 std::map<uint16_t, uint8_t> running_services;
92 std::priority_queue<queueData> sendqueue;
98 std::string current_source;
109 unsigned char* receivedData;
118 int send(
const unsigned char *
data,
size_t len);
143 static std::string
getTunerLetter(
int tuner_no) {
return std::string(1,
char(65 + tuner_no)); }
145 bool checkQueueSize();
147 void mmiOpened() { mmi_active =
true; };
148 void mmiClosed() { mmi_active =
false; };
149 void process_tpdu(
unsigned char tpdu_tag, __u8*
data,
int asn_data_length,
int con_id);
151 eData sendData(
unsigned char*
data,
int len);
152 struct timeval tx_time;
153 struct timespec last_poll_time;
185 } stream_interface_t;
193 } stream_finish_mode_t;
196 stream_interface_t m_stream_interface;
197 stream_finish_mode_t m_stream_finish_mode;
static int ptr
Definition: bcm.cpp:17
Definition: dvbci_appmgr.h:7
Definition: dvbci_camgr.h:9
int getMMIState(int slot)
Definition: dvbci.cpp:1050
~eDVBCIInterfaces()
Definition: dvbci.cpp:424
int initialize(int slot)
Definition: dvbci.cpp:464
int sendCAPMT(int slot)
Definition: dvbci.cpp:476
void ciRemoved(eDVBCISlot *slot)
Definition: dvbci.cpp:550
int cancelEnq(int slot)
Definition: dvbci.cpp:540
int getNumOfSlots()
Definition: dvbci.h:231
eDVBCIInterfaces()
Definition: dvbci.cpp:335
int setCIEnabled(int slot, bool enabled)
Definition: dvbci.cpp:1294
void addPMTHandler(eDVBServicePMTHandler *pmthandler)
Definition: dvbci.cpp:897
void recheckPMTHandlers()
Definition: dvbci.cpp:603
PyObject * readCICaIds(int slotid)
Definition: dvbci.cpp:1269
int getSlotState(int slot)
Definition: dvbci.cpp:444
RESULT setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject))
Definition: dvbci.cpp:1146
void removePMTHandler(eDVBServicePMTHandler *pmthandler)
Definition: dvbci.cpp:915
int answerText(int slot, int answer)
Definition: dvbci.cpp:520
void gotPMT(eDVBServicePMTHandler *pmthandler)
Definition: dvbci.cpp:1033
int stopMMI(int slot)
Definition: dvbci.cpp:510
int reset(int slot)
Definition: dvbci.cpp:454
static eDVBCIInterfaces * getInstance()
Definition: dvbci.cpp:428
int startMMI(int slot)
Definition: dvbci.cpp:500
int answerEnq(int slot, char *value)
Definition: dvbci.cpp:530
int setInputSource(int tunerno, const std::string &source)
Definition: dvbci.cpp:1060
PyObject * getDescrambleRules(int slotid)
Definition: dvbci.cpp:1094
int setCIClockRate(int slot, int rate)
Definition: dvbci.cpp:1302
Definition: dvbci_mmi.h:7
Definition: dvbci_session.h:11
int send(const unsigned char *data, size_t len)
Definition: dvbci.cpp:1310
int reset()
Definition: dvbci.cpp:1667
int startMMI()
Definition: dvbci.cpp:1703
void setMMIManager(eDVBCIMMISession *session)
Definition: dvbci.cpp:1652
@ stateInvalid
Definition: dvbci.h:112
@ stateDisabled
Definition: dvbci.h:112
@ stateRemoved
Definition: dvbci.h:112
@ stateInserted
Definition: dvbci.h:112
@ stateResetted
Definition: dvbci.h:112
eDVBCIMMISession * getMMIManager()
Definition: dvbci.h:125
int getMMIState()
Definition: dvbci.cpp:1733
int getSlotID()
Definition: dvbci.cpp:1662
eDVBCISlot(eMainloop *context, int nr)
Definition: dvbci.cpp:1561
void openDevice()
Definition: dvbci.cpp:1575
void setAppManager(eDVBCIApplicationManagerSession *session)
Definition: dvbci.cpp:1647
int setSource(const std::string &source)
Definition: dvbci.cpp:1865
int getNumOfServices()
Definition: dvbci.h:139
int setEnabled(bool)
Definition: dvbci.cpp:1907
void removeService(uint16_t program_number=0xFFFF)
Definition: dvbci.cpp:1857
int stopMMI()
Definition: dvbci.cpp:1713
int cancelEnq()
Definition: dvbci.cpp:1751
eDVBCICAManagerSession * getCAManager()
Definition: dvbci.h:126
void closeDevice()
Definition: dvbci.cpp:1631
int setClockRate(int)
Definition: dvbci.cpp:1898
int answerEnq(char *value)
Definition: dvbci.cpp:1741
int sendCAPMT(eDVBServicePMTHandler *ptr, const std::vector< uint16_t > &caids=std::vector< uint16_t >())
Definition: dvbci.cpp:1761
int answerText(int answer)
Definition: dvbci.cpp:1723
int getState()
Definition: dvbci.h:128
void setCAManager(eDVBCICAManagerSession *session)
Definition: dvbci.cpp:1657
~eDVBCISlot()
Definition: dvbci.cpp:1626
static std::string getTunerLetter(int tuner_no)
Definition: dvbci.h:143
eDVBCIApplicationManagerSession * getAppManager()
Definition: dvbci.h:124
std::set< uint16_t > caidSet
Definition: dvbci.h:41
std::set< eServiceReference > serviceSet
Definition: dvbci.h:42
std::set< providerPair > providerSet
Definition: dvbci.h:40
std::list< CIPmtHandler > PMTHandlerList
Definition: dvbci.h:173
std::pair< std::string, uint32_t > providerPair
Definition: dvbci.h:39
#define NULL
Definition: eerror.h:101
unsigned char data[256]
Definition: hdmi_cec.h:2
enabled
Definition: Components/HdmiCec.py:16
session
Definition: SystemPlugins/SatelliteEquipmentControl/plugin.py:52
source
Definition: enigma_py_patcher.py:9
int RESULT
Definition: object.h:12
std::string int x
Definition: picload.cpp:1503
CIPmtHandler(const CIPmtHandler &x)
Definition: dvbci.h:164
CIPmtHandler(eDVBServicePMTHandler *ptr)
Definition: dvbci.h:167
bool operator==(const CIPmtHandler &x) const
Definition: dvbci.h:170
eDVBServicePMTHandler * pmthandler
Definition: dvbci.h:159
eDVBCISlot * cislot
Definition: dvbci.h:160
CIPmtHandler()
Definition: dvbci.h:161
bool operator<(const struct queueData &a) const
Definition: dvbci.h:33
unsigned char * data
Definition: dvbci.h:26
queueData(unsigned char *data, unsigned int len, uint8_t prio=0)
Definition: dvbci.h:28
unsigned int len
Definition: dvbci.h:27
uint8_t prio
Definition: dvbci.h:25
#define SWIG_PYOBJECT(x)
Definition: swig.h:23