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 dbgprotocol, MAX_SESSIONS_PER_TC, cCamSlot::SlotIndex(), cCamSlot::SlotNumber(), and TC_ALIVE_TIMEOUT.
|
virtual |
Definition at line 1410 of file ci.c.
References MAX_SESSIONS_PER_TC.
|
inline |
Definition at line 435 of file ci.c.
References cCaActivationReceiver::camSlot.
Referenced by cCiApplicationInformation::cCiApplicationInformation(), cCiConditionalAccessSupport::cCiConditionalAccessSupport(), cCiDateTime::cCiDateTime(), cCiMMI::cCiMMI(), and cCiResourceManager::cCiResourceManager().
|
private |
Definition at line 1518 of file ci.c.
References dbgprotocol, esyslog, cCiSession::SessionId(), SS_NOT_ALLOCATED, SS_OK, and ST_CLOSE_SESSION_RESPONSE.
const char * cCiTransportConnection::GetCamName | ( | void | ) |
Definition at line 1422 of file ci.c.
References cCiApplicationInformation::GetMenuString(), and RI_APPLICATION_INFORMATION.
Referenced by cCamSlot::SlotNumber().
cCiSession * cCiTransportConnection::GetSessionByResourceId | ( | uint32_t | ResourceId | ) |
Definition at line 1480 of file ci.c.
References MAX_SESSIONS_PER_TC, and cCiSession::ResourceId().
|
private |
Definition at line 1475 of file ci.c.
References MAX_SESSIONS_PER_TC, and cCiSession::SessionId().
|
private |
Definition at line 1533 of file ci.c.
References cTPDU::Data(), esyslog, get_unaligned(), cCiSession::Process(), cCiSession::SessionId(), ST_CLOSE_SESSION_REQUEST, ST_CLOSE_SESSION_RESPONSE, ST_CREATE_SESSION_RESPONSE, ST_OPEN_SESSION_REQUEST, and ST_SESSION_NUMBER.
|
inline |
Definition at line 441 of file ci.c.
Referenced by cCamSlot::SlotNumber().
|
private |
Definition at line 1489 of file ci.c.
References cCiMMI::cCiMMI(), dbgprotocol, esyslog, MAX_SESSIONS_PER_TC, cCiSession::ResourceId(), RI_APPLICATION_INFORMATION, RI_CONDITIONAL_ACCESS_SUPPORT, RI_DATE_TIME, RI_HOST_CONTROL, RI_MMI, RI_RESOURCE_MANAGER, cCiSession::SessionId(), SS_OK, and ST_OPEN_SESSION_RESPONSE.
|
private |
Definition at line 1460 of file ci.c.
References dbgprotocol, DumpPolls, DumpTPDUDataTransfer, and T_DATA_LAST.
bool cCiTransportConnection::Process | ( | cTPDU * | TPDU = NULL | ) |
Definition at line 1560 of file ci.c.
References DATA_INDICATOR, dbgprotocol, esyslog, cCiMMI::HasUserIO(), MAX_SESSIONS_PER_TC, cTPDU::Status(), 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(), and TC_ALIVE_TIMEOUT.
bool cCiTransportConnection::Ready | ( | void | ) |
Definition at line 1416 of file ci.c.
References cCiConditionalAccessSupport::Ready(), and RI_CONDITIONAL_ACCESS_SUPPORT.
Referenced by cCamSlot::SlotNumber().
|
private |
Definition at line 1470 of file ci.c.
References get_unaligned().
void cCiTransportConnection::SendData | ( | int | Length, |
const uint8_t * | Data | ||
) |
Definition at line 1435 of file ci.c.
References T_DATA_LAST.
|
private |
Definition at line 1442 of file ci.c.
References put_unaligned(), and cCiSession::SendData().
|
private |
Definition at line 1428 of file ci.c.
References TC_POLL_TIMEOUT.
|
private |