cCiTransportConnection Class Reference

Collaboration diagram for cCiTransportConnection:

Collaboration graph
[legend]

List of all members.

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 230 of file ci.c.


Member Enumeration Documentation

Enumerator:
stIDLE 
stCREATION 
stACTIVE 
stDELETION 

Definition at line 232 of file ci.c.


Constructor & Destructor Documentation

cCiTransportConnection::cCiTransportConnection ( cCamSlot CamSlot,
uint8_t  Tcid 
)

cCiTransportConnection::~cCiTransportConnection (  )  [virtual]

Definition at line 1209 of file ci.c.

References MAX_SESSIONS_PER_TC, and sessions.


Member Function Documentation

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

Definition at line 1227 of file ci.c.

References camSlot, cTimeMs::Set(), cCamSlot::SlotIndex(), TC_POLL_TIMEOUT, tcid, timer, and cCamSlot::Write().

Referenced by Poll(), Process(), and SendData().

Here is the call graph for this function:

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

Definition at line 1241 of file ci.c.

References put_unaligned(), and SendData().

Referenced by CloseSession(), and OpenSession().

Here is the call graph for this function:

void cCiTransportConnection::Poll ( void   )  [private]

Definition at line 1259 of file ci.c.

References camSlot, dbgprotocol, DumpPolls, DumpTPDUDataTransfer, SendTPDU(), cCamSlot::SlotNumber(), and T_DATA_LAST.

Referenced by Process().

Here is the call graph for this function:

uint32_t cCiTransportConnection::ResourceIdToInt ( const uint8_t *  Data  )  [private]

Definition at line 1269 of file ci.c.

References get_unaligned().

Referenced by OpenSession().

Here is the call graph for this function:

cCiSession * cCiTransportConnection::GetSessionBySessionId ( uint16_t  SessionId  )  [private]

Definition at line 1274 of file ci.c.

References MAX_SESSIONS_PER_TC, and sessions.

Referenced by CloseSession(), and HandleSessions().

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

void cCiTransportConnection::CloseSession ( uint16_t  SessionId  )  [private]

Definition at line 1317 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().

Here is the call graph for this function:

void cCiTransportConnection::HandleSessions ( cTPDU TPDU  )  [private]

cCamSlot* cCiTransportConnection::CamSlot ( void   )  [inline]

uint8_t cCiTransportConnection::Tcid ( void   )  const [inline]

Definition at line 254 of file ci.c.

void cCiTransportConnection::CreateConnection ( void   )  [inline]

Definition at line 255 of file ci.c.

Referenced by cCamSlot::NewConnection().

void cCiTransportConnection::DeleteConnection ( void   )  [inline]

Definition at line 256 of file ci.c.

const char * cCiTransportConnection::GetCamName ( void   ) 

Definition at line 1221 of file ci.c.

References cCiApplicationInformation::GetMenuString(), GetSessionByResourceId(), and RI_APPLICATION_INFORMATION.

Referenced by cCamSlot::GetCamName().

Here is the call graph for this function:

bool cCiTransportConnection::Ready ( void   ) 

Definition at line 1215 of file ci.c.

References GetSessionByResourceId(), cCiConditionalAccessSupport::Ready(), and RI_CONDITIONAL_ACCESS_SUPPORT.

Referenced by cCamSlot::Ready().

Here is the call graph for this function:

bool cCiTransportConnection::HasUserIO ( void   )  [inline]

Definition at line 259 of file ci.c.

Referenced by cCamSlot::HasUserIO(), and Process().

void cCiTransportConnection::SendData ( int  Length,
const uint8_t *  Data 
)

Definition at line 1234 of file ci.c.

References SendTPDU(), stACTIVE, state, and T_DATA_LAST.

Referenced by cCiSession::SendData(), and SendTag().

Here is the call graph for this function:

bool cCiTransportConnection::Process ( cTPDU TPDU = NULL  ) 

cCiSession * cCiTransportConnection::GetSessionByResourceId ( uint32_t  ResourceId  ) 

Definition at line 1279 of file ci.c.

References MAX_SESSIONS_PER_TC, and sessions.

Referenced by GetCamName(), cCamSlot::GetSessionByResourceId(), OpenSession(), and Ready().


Member Data Documentation

uint8_t cCiTransportConnection::tcid [private]

Definition at line 235 of file ci.c.

Referenced by cCiTransportConnection(), Process(), and SendData().

Definition at line 236 of file ci.c.

Referenced by cCiTransportConnection(), and Process().

Definition at line 237 of file ci.c.

Referenced by cCiTransportConnection(), and Process().

Definition at line 238 of file ci.c.

Referenced by cCiTransportConnection(), and Process().

Definition at line 239 of file ci.c.

Referenced by cCiTransportConnection(), and Process().

Definition at line 240 of file ci.c.

Referenced by Process(), and SendTPDU().

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


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

Generated on Tue Nov 4 19:57:53 2008 for VDR by  doxygen 1.5.6