vdr
2.2.0
|
Public Member Functions | |
cCiTransportConnection (cCamSlot *CamSlot, uint8_t Tcid) | |
virtual | ~cCiTransportConnection () |
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 | |
cCamSlot * | camSlot |
uint8_t | tcid |
eState | state |
bool | createConnectionRequested |
bool | deleteConnectionRequested |
bool | hasUserIO |
cTimeMs | alive |
cTimeMs | timer |
cCiSession * | sessions [MAX_SESSIONS_PER_TC+1] |
|
private |
cCiTransportConnection::cCiTransportConnection | ( | cCamSlot * | CamSlot, |
uint8_t | Tcid | ||
) |
Definition at line 1396 of file ci.c.
References alive, camSlot, CamSlot(), createConnectionRequested, dbgprotocol, deleteConnectionRequested, hasUserIO, MAX_SESSIONS_PER_TC, sessions, cTimeMs::Set(), cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), state, stIDLE, TC_ALIVE_TIMEOUT, tcid, and Tcid().
|
virtual |
Definition at line 1410 of file ci.c.
References MAX_SESSIONS_PER_TC, and sessions.
|
inline |
Definition at line 435 of file ci.c.
References camSlot.
Referenced by cCiApplicationInformation::cCiApplicationInformation(), cCiConditionalAccessSupport::cCiConditionalAccessSupport(), cCiDateTime::cCiDateTime(), cCiMMI::cCiMMI(), cCiResourceManager::cCiResourceManager(), and cCiTransportConnection().
|
private |
Definition at line 1518 of file ci.c.
References camSlot, dbgprotocol, esyslog, GetSessionBySessionId(), SendTag(), sessions, cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), SS_NOT_ALLOCATED, SS_OK, ST_CLOSE_SESSION_RESPONSE, and tcid.
Referenced by HandleSessions().
|
inline |
Definition at line 437 of file ci.c.
Referenced by cCamSlot::NewConnection().
const char * cCiTransportConnection::GetCamName | ( | void | ) |
Definition at line 1422 of file ci.c.
References cCiApplicationInformation::GetMenuString(), GetSessionByResourceId(), and RI_APPLICATION_INFORMATION.
Referenced by cCamSlot::GetCamName().
cCiSession * cCiTransportConnection::GetSessionByResourceId | ( | uint32_t | ResourceId | ) |
Definition at line 1480 of file ci.c.
References MAX_SESSIONS_PER_TC, and sessions.
Referenced by GetCamName(), cCamSlot::GetSessionByResourceId(), OpenSession(), and Ready().
|
private |
Definition at line 1475 of file ci.c.
References MAX_SESSIONS_PER_TC, and sessions.
Referenced by CloseSession(), and HandleSessions().
|
private |
Definition at line 1533 of file ci.c.
References camSlot, CloseSession(), cTPDU::Data(), esyslog, get_unaligned(), GetSessionBySessionId(), OpenSession(), cCiSession::Process(), cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), 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 |
Definition at line 441 of file ci.c.
References hasUserIO.
Referenced by cCamSlot::HasUserIO(), and Process().
|
private |
Definition at line 1489 of file ci.c.
References camSlot, dbgprotocol, esyslog, GetSessionByResourceId(), MAX_SESSIONS_PER_TC, ResourceIdToInt(), RI_APPLICATION_INFORMATION, RI_CONDITIONAL_ACCESS_SUPPORT, RI_DATE_TIME, RI_HOST_CONTROL, RI_MMI, RI_RESOURCE_MANAGER, SendTag(), sessions, cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), SS_OK, ST_OPEN_SESSION_RESPONSE, and tcid.
Referenced by HandleSessions().
|
private |
Definition at line 1460 of file ci.c.
References camSlot, dbgprotocol, DumpPolls, DumpTPDUDataTransfer, SendTPDU(), cCamSlot::SlotNumber(), and T_DATA_LAST.
Referenced by Process().
bool cCiTransportConnection::Process | ( | cTPDU * | TPDU = NULL | ) |
Definition at line 1560 of file ci.c.
References alive, camSlot, createConnectionRequested, DATA_INDICATOR, dbgprotocol, deleteConnectionRequested, esyslog, HandleSessions(), hasUserIO, HasUserIO(), MAX_SESSIONS_PER_TC, Poll(), cCiSession::Process(), SendTPDU(), sessions, cTimeMs::Set(), cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), 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, cTimeMs::TimedOut(), and timer.
Referenced by cCamSlot::Process().
bool cCiTransportConnection::Ready | ( | void | ) |
Definition at line 1416 of file ci.c.
References GetSessionByResourceId(), cCiConditionalAccessSupport::Ready(), and RI_CONDITIONAL_ACCESS_SUPPORT.
Referenced by cCamSlot::Ready().
|
private |
void cCiTransportConnection::SendData | ( | int | Length, |
const uint8_t * | Data | ||
) |
Definition at line 1435 of file ci.c.
References SendTPDU(), stACTIVE, state, and T_DATA_LAST.
Referenced by cCiSession::SendData(), and SendTag().
|
private |
Definition at line 1442 of file ci.c.
References put_unaligned(), and SendData().
Referenced by CloseSession(), and OpenSession().
|
private |
Definition at line 1428 of file ci.c.
References camSlot, cTimeMs::Set(), cCamSlot::SlotIndex(), TC_POLL_TIMEOUT, tcid, timer, and cCamSlot::Write().
Referenced by Poll(), Process(), and SendData().
|
inline |
|
private |
Definition at line 421 of file ci.c.
Referenced by cCiTransportConnection(), and Process().
|
private |
Definition at line 415 of file ci.c.
Referenced by CamSlot(), cCiTransportConnection(), CloseSession(), HandleSessions(), OpenSession(), Poll(), Process(), and SendTPDU().
|
private |
Definition at line 418 of file ci.c.
Referenced by cCiTransportConnection(), and Process().
|
private |
Definition at line 419 of file ci.c.
Referenced by cCiTransportConnection(), and Process().
|
private |
Definition at line 420 of file ci.c.
Referenced by cCiTransportConnection(), HasUserIO(), and Process().
|
private |
Definition at line 423 of file ci.c.
Referenced by cCiTransportConnection(), CloseSession(), GetSessionByResourceId(), GetSessionBySessionId(), OpenSession(), Process(), and ~cCiTransportConnection().
|
private |
Definition at line 417 of file ci.c.
Referenced by cCiTransportConnection(), Process(), and SendData().
|
private |
Definition at line 416 of file ci.c.
Referenced by cCiTransportConnection(), CloseSession(), HandleSessions(), OpenSession(), Process(), SendTPDU(), and Tcid().
|
private |
Definition at line 422 of file ci.c.
Referenced by Process(), and SendTPDU().