vdr 2.7.7
|
Public Member Functions | |
cCiTransportConnection (cCamSlot *CamSlot, uint8_t Tcid) | |
virtual | ~cCiTransportConnection () |
void | SetTsPostProcessor (cCiSession *CiSession) |
bool | TsPostProcess (uint8_t *TsPacket) |
cCamSlot * | CamSlot (void) |
uint8_t | Tcid (void) const |
void | CreateConnection (void) |
void | DeleteConnection (void) |
const char * | GetCamName (void) |
bool | Ready (void) |
bool | HasUserIO (void) |
void | SendData (int Length, const uint8_t *Data) |
bool | Process (cTPDU *TPDU=NULL) |
cCiSession * | GetSessionByResourceId (uint32_t ResourceId) |
Private Types | |
enum | eState { stIDLE , stCREATION , stACTIVE , stDELETION } |
Private Member Functions | |
void | SendTPDU (uint8_t Tag, int Length=0, const uint8_t *Data=NULL) |
void | SendTag (uint8_t Tag, uint16_t SessionId, uint32_t ResourceId=0, int Status=-1) |
void | Poll (void) |
uint32_t | ResourceIdToInt (const uint8_t *Data) |
cCiSession * | GetSessionBySessionId (uint16_t SessionId) |
void | OpenSession (int Length, const uint8_t *Data) |
void | CloseSession (uint16_t SessionId) |
void | HandleSessions (cTPDU *TPDU) |
Private Attributes | |
cMutex | mutex |
cCamSlot * | camSlot |
uint8_t | tcid |
eState | state |
bool | createConnectionRequested |
bool | deleteConnectionRequested |
bool | hasUserIO |
cTimeMs | alive |
cTimeMs | timer |
cCiSession * | sessions [MAX_SESSIONS_PER_TC+1] |
cCiSession * | tsPostProcessor |
|
private |
cCiTransportConnection::cCiTransportConnection | ( | cCamSlot * | CamSlot, |
uint8_t | Tcid ) |
Definition at line 1811 of file ci.c.
References alive, CamSlot(), camSlot, createConnectionRequested, dbgprotocol, deleteConnectionRequested, hasUserIO, MAX_SESSIONS_PER_TC, sessions, state, stIDLE, TC_ALIVE_TIMEOUT, Tcid(), tcid, and tsPostProcessor.
|
virtual |
Definition at line 1826 of file ci.c.
References MAX_SESSIONS_PER_TC, and sessions.
|
inline |
Definition at line 638 of file ci.c.
References camSlot.
Referenced by cCiSession::CamSlot(), and cCiTransportConnection().
|
private |
Definition at line 1946 of file ci.c.
References camSlot, dbgprotocol, esyslog, GetSessionBySessionId(), SendTag(), sessions, SS_NOT_ALLOCATED, SS_OK, ST_CLOSE_SESSION_RESPONSE, and tcid.
Referenced by HandleSessions().
|
inline |
Definition at line 640 of file ci.c.
References createConnectionRequested.
|
inline |
Definition at line 641 of file ci.c.
References deleteConnectionRequested.
const char * cCiTransportConnection::GetCamName | ( | void | ) |
Definition at line 1851 of file ci.c.
References cCiApplicationInformation::GetMenuString(), GetSessionByResourceId(), and RI_APPLICATION_INFORMATION.
cCiSession * cCiTransportConnection::GetSessionByResourceId | ( | uint32_t | ResourceId | ) |
Definition at line 1909 of file ci.c.
References MAX_SESSIONS_PER_TC, RESOURCE_CLASS_MASK, and sessions.
Referenced by GetCamName(), OpenSession(), and Ready().
|
private |
Definition at line 1904 of file ci.c.
References MAX_SESSIONS_PER_TC, and sessions.
Referenced by CloseSession(), and HandleSessions().
|
private |
Definition at line 1961 of file ci.c.
References camSlot, CloseSession(), cTPDU::Data(), esyslog, get_unaligned(), GetSessionBySessionId(), OpenSession(), cCiSession::Process(), ST_CLOSE_SESSION_REQUEST, ST_CLOSE_SESSION_RESPONSE, ST_CREATE_SESSION_RESPONSE, ST_OPEN_SESSION_REQUEST, ST_SESSION_NUMBER, and tcid.
Referenced by Process().
|
inline |
|
private |
Definition at line 1923 of file ci.c.
References camSlot, CiResourceHandlers, dbgprotocol, esyslog, GetSessionByResourceId(), MAX_SESSIONS_PER_TC, ResourceIdToInt(), SendTag(), sessions, SS_OK, ST_OPEN_SESSION_RESPONSE, and tcid.
Referenced by HandleSessions().
|
private |
Definition at line 1889 of file ci.c.
References camSlot, dbgprotocol, DumpPolls, DumpTPDUDataTransfer, SendTPDU(), and T_DATA_LAST.
Referenced by Process().
bool cCiTransportConnection::Process | ( | cTPDU * | TPDU = NULL | ) |
Definition at line 1988 of file ci.c.
References alive, camSlot, createConnectionRequested, DATA_INDICATOR, dbgprotocol, deleteConnectionRequested, esyslog, HandleSessions(), HasUserIO(), hasUserIO, MAX_SESSIONS_PER_TC, Poll(), SendTPDU(), sessions, stACTIVE, state, cTPDU::Status(), stCREATION, stDELETION, stIDLE, T_CREATE_TC, T_CTC_REPLY, T_DATA_LAST, T_DATA_MORE, T_DELETE_TC, T_DTC_REPLY, T_NEW_TC, T_RCV, T_REQUEST_TC, T_SB, T_TC_ERROR, cTPDU::Tag(), TC_ALIVE_TIMEOUT, tcid, and timer.
bool cCiTransportConnection::Ready | ( | void | ) |
Definition at line 1845 of file ci.c.
References GetSessionByResourceId(), cCiConditionalAccessSupport::Ready(), and RI_CONDITIONAL_ACCESS_SUPPORT.
|
private |
void cCiTransportConnection::SendData | ( | int | Length, |
const uint8_t * | Data ) |
Definition at line 1864 of file ci.c.
References SendTPDU(), stACTIVE, state, and T_DATA_LAST.
Referenced by SendTag().
|
private |
Definition at line 1871 of file ci.c.
References put_unaligned(), and SendData().
Referenced by CloseSession(), and OpenSession().
|
private |
Definition at line 1857 of file ci.c.
References camSlot, TC_POLL_TIMEOUT, tcid, and timer.
Referenced by Poll(), Process(), and SendData().
void cCiTransportConnection::SetTsPostProcessor | ( | cCiSession * | CiSession | ) |
Definition at line 1832 of file ci.c.
References tsPostProcessor.
|
inline |
bool cCiTransportConnection::TsPostProcess | ( | uint8_t * | TsPacket | ) |
Definition at line 1837 of file ci.c.
References mutex, and tsPostProcessor.
|
private |
Definition at line 621 of file ci.c.
Referenced by cCiTransportConnection(), and Process().
|
private |
Definition at line 615 of file ci.c.
Referenced by CamSlot(), cCiTransportConnection(), CloseSession(), HandleSessions(), OpenSession(), Poll(), Process(), and SendTPDU().
|
private |
Definition at line 618 of file ci.c.
Referenced by cCiTransportConnection(), CreateConnection(), and Process().
|
private |
Definition at line 619 of file ci.c.
Referenced by cCiTransportConnection(), DeleteConnection(), and Process().
|
private |
Definition at line 620 of file ci.c.
Referenced by cCiTransportConnection(), HasUserIO(), and Process().
|
private |
Definition at line 614 of file ci.c.
Referenced by TsPostProcess().
|
private |
Definition at line 623 of file ci.c.
Referenced by cCiTransportConnection(), CloseSession(), GetSessionByResourceId(), GetSessionBySessionId(), OpenSession(), Process(), and ~cCiTransportConnection().
|
private |
Definition at line 617 of file ci.c.
Referenced by cCiTransportConnection(), Process(), and SendData().
|
private |
Definition at line 616 of file ci.c.
Referenced by cCiTransportConnection(), CloseSession(), HandleSessions(), OpenSession(), Process(), SendTPDU(), and Tcid().
|
private |
Definition at line 622 of file ci.c.
Referenced by Process(), and SendTPDU().
|
private |
Definition at line 624 of file ci.c.
Referenced by cCiTransportConnection(), SetTsPostProcessor(), and TsPostProcess().