vdr  2.2.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
cCiTransportConnection Class Reference

Public Member Functions

 cCiTransportConnection (cCamSlot *CamSlot, uint8_t Tcid)
 
virtual ~cCiTransportConnection ()
 
cCamSlotCamSlot (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)
 
cCiSessionGetSessionByResourceId (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)
 
cCiSessionGetSessionBySessionId (uint16_t SessionId)
 
void OpenSession (int Length, const uint8_t *Data)
 
void CloseSession (uint16_t SessionId)
 
void HandleSessions (cTPDU *TPDU)
 

Private Attributes

cCamSlotcamSlot
 
uint8_t tcid
 
eState state
 
bool createConnectionRequested
 
bool deleteConnectionRequested
 
bool hasUserIO
 
cTimeMs alive
 
cTimeMs timer
 
cCiSessionsessions [MAX_SESSIONS_PER_TC+1]
 

Detailed Description

Definition at line 412 of file ci.c.

Member Enumeration Documentation

Enumerator
stIDLE 
stCREATION 
stACTIVE 
stDELETION 

Definition at line 414 of file ci.c.

Constructor & Destructor Documentation

cCiTransportConnection::cCiTransportConnection ( cCamSlot CamSlot,
uint8_t  Tcid 
)
cCiTransportConnection::~cCiTransportConnection ( )
virtual

Definition at line 1410 of file ci.c.

References MAX_SESSIONS_PER_TC.

Member Function Documentation

cCamSlot* cCiTransportConnection::CamSlot ( void  )
inline
void cCiTransportConnection::CloseSession ( uint16_t  SessionId)
private
void cCiTransportConnection::CreateConnection ( void  )
inline

Definition at line 437 of file ci.c.

void cCiTransportConnection::DeleteConnection ( void  )
inline

Definition at line 438 of file ci.c.

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().

cCiSession * cCiTransportConnection::GetSessionBySessionId ( uint16_t  SessionId)
private

Definition at line 1475 of file ci.c.

References MAX_SESSIONS_PER_TC, and cCiSession::SessionId().

void cCiTransportConnection::HandleSessions ( cTPDU TPDU)
private
bool cCiTransportConnection::HasUserIO ( void  )
inline

Definition at line 441 of file ci.c.

Referenced by cCamSlot::SlotNumber().

void cCiTransportConnection::OpenSession ( int  Length,
const uint8_t *  Data 
)
private
void cCiTransportConnection::Poll ( void  )
private

Definition at line 1460 of file ci.c.

References dbgprotocol, DumpPolls, DumpTPDUDataTransfer, and T_DATA_LAST.

bool cCiTransportConnection::Process ( cTPDU TPDU = NULL)
bool cCiTransportConnection::Ready ( void  )

Definition at line 1416 of file ci.c.

References cCiConditionalAccessSupport::Ready(), and RI_CONDITIONAL_ACCESS_SUPPORT.

Referenced by cCamSlot::SlotNumber().

uint32_t cCiTransportConnection::ResourceIdToInt ( const uint8_t *  Data)
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.

void cCiTransportConnection::SendTag ( uint8_t  Tag,
uint16_t  SessionId,
uint32_t  ResourceId = 0,
int  Status = -1 
)
private

Definition at line 1442 of file ci.c.

References put_unaligned(), and cCiSession::SendData().

void cCiTransportConnection::SendTPDU ( uint8_t  Tag,
int  Length = 0,
const uint8_t *  Data = NULL 
)
private

Definition at line 1428 of file ci.c.

References TC_POLL_TIMEOUT.

uint8_t cCiTransportConnection::Tcid ( void  ) const
inline

Definition at line 436 of file ci.c.

Member Data Documentation

cTimeMs cCiTransportConnection::alive
private

Definition at line 421 of file ci.c.

cCamSlot* cCiTransportConnection::camSlot
private

Definition at line 415 of file ci.c.

bool cCiTransportConnection::createConnectionRequested
private

Definition at line 418 of file ci.c.

bool cCiTransportConnection::deleteConnectionRequested
private

Definition at line 419 of file ci.c.

bool cCiTransportConnection::hasUserIO
private

Definition at line 420 of file ci.c.

cCiSession* cCiTransportConnection::sessions[MAX_SESSIONS_PER_TC+1]
private

Definition at line 423 of file ci.c.

eState cCiTransportConnection::state
private

Definition at line 417 of file ci.c.

uint8_t cCiTransportConnection::tcid
private

Definition at line 416 of file ci.c.

cTimeMs cCiTransportConnection::timer
private

Definition at line 422 of file ci.c.


The documentation for this class was generated from the following file: