vdr 2.7.6
cCiSession Class Reference

#include <ci.h>

Public Member Functions

 cCiSession (uint16_t SessionId, uint32_t ResourceId, cCiTransportConnection *Tc)
 
virtual ~cCiSession ()
 
uint16_t SessionId (void)
 
uint32_t ResourceId (void)
 
cCamSlotCamSlot (void)
 
virtual bool HasUserIO (void)
 
virtual void Process (int Length=0, const uint8_t *Data=NULL)
 
virtual bool TsPostProcess (uint8_t *TsPacket)
 

Protected Member Functions

void SetTsPostProcessor (void)
 
void SetResourceId (uint32_t Id)
 
int GetTag (int &Length, const uint8_t **Data)
 
const uint8_t * GetData (const uint8_t *Data, int &Length)
 
void SendData (int Tag, int Length=0, const uint8_t *Data=NULL)
 
cCiTransportConnectionTc (void)
 

Private Attributes

uint16_t sessionId
 
uint32_t resourceId
 
cCiTransportConnectiontc
 

Detailed Description

Definition at line 32 of file ci.h.

Constructor & Destructor Documentation

◆ cCiSession()

◆ ~cCiSession()

cCiSession::~cCiSession ( )
virtual

Definition at line 736 of file ci.c.

Member Function Documentation

◆ CamSlot()

◆ GetData()

const uint8_t * cCiSession::GetData ( const uint8_t * Data,
int & Length )
protected

◆ GetTag()

int cCiSession::GetTag ( int & Length,
const uint8_t ** Data )
protected
Parameters
DataGets the tag at Data. Returns the actual tag, or AOT_NONE in case of error. Upon return Length and Data represent the remaining data after the tag has been skipped.

Definition at line 750 of file ci.c.

References AOT_NONE.

Referenced by cCiMMI::GetText(), cCiApplicationInformation::Process(), cCiConditionalAccessSupport::Process(), cCiDateTime::Process(), cCiHostControl::Process(), cCiMMI::Process(), and cCiResourceManager::Process().

◆ HasUserIO()

virtual bool cCiSession::HasUserIO ( void )
inlinevirtual

Reimplemented in cCiMMI.

Definition at line 55 of file ci.h.

◆ Process()

void cCiSession::Process ( int Length = 0,
const uint8_t * Data = NULL )
virtual

◆ ResourceId()

uint32_t cCiSession::ResourceId ( void )
inline

Definition at line 53 of file ci.h.

References resourceId.

Referenced by cCiSession().

◆ SendData()

◆ SessionId()

◆ SetResourceId()

void cCiSession::SetResourceId ( uint32_t Id)
protected

If this is a class that has been derived from an existing cCiSession class, but implements a different resource id, it shall call SetResourceId() with that Id.

Definition at line 740 of file ci.c.

References resourceId.

◆ SetTsPostProcessor()

void cCiSession::SetTsPostProcessor ( void )
protected

If this cCiSession implements the TsPostProcess() function, it shall call SetTsPostProcessor() to register itself as the TS post processor.

Definition at line 745 of file ci.c.

References tc.

◆ Tc()

◆ TsPostProcess()

virtual bool cCiSession::TsPostProcess ( uint8_t * TsPacket)
inlinevirtual

If this cCiSession needs to do additional processing on TS packets (after the CAM has done the decryption), it shall implement TsPostProcess() and do whatever operations are necessary on the given TsPacket.

This function is called once for each TS packet, and any and all operations must be finished upon return. A derived cCiSession that implements this function must call SetTsPostProcessor() to make it actually get called. Returns true if the TsPacket was in any way modified.

Definition at line 57 of file ci.h.

Member Data Documentation

◆ resourceId

uint32_t cCiSession::resourceId
private

Definition at line 35 of file ci.h.

Referenced by cCiSession(), ResourceId(), and SetResourceId().

◆ sessionId

uint16_t cCiSession::sessionId
private

Definition at line 34 of file ci.h.

Referenced by cCiSession(), SendData(), and SessionId().

◆ tc

cCiTransportConnection* cCiSession::tc
private

Definition at line 36 of file ci.h.

Referenced by cCiSession(), SendData(), SetTsPostProcessor(), and Tc().


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